| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 #ifndef SYNC_TEST_FAKE_SERVER_FAKE_SERVER_HTTP_POST_PROVIDER_H_ |  | 
| 6 #define SYNC_TEST_FAKE_SERVER_FAKE_SERVER_HTTP_POST_PROVIDER_H_ |  | 
| 7 |  | 
| 8 #include <string> |  | 
| 9 |  | 
| 10 #include "base/callback.h" |  | 
| 11 #include "base/macros.h" |  | 
| 12 #include "base/memory/ref_counted.h" |  | 
| 13 #include "base/memory/weak_ptr.h" |  | 
| 14 #include "base/sequenced_task_runner.h" |  | 
| 15 #include "base/synchronization/waitable_event.h" |  | 
| 16 #include "sync/internal_api/public/http_post_provider_factory.h" |  | 
| 17 #include "sync/internal_api/public/http_post_provider_interface.h" |  | 
| 18 |  | 
| 19 namespace fake_server { |  | 
| 20 |  | 
| 21 class FakeServer; |  | 
| 22 |  | 
| 23 class FakeServerHttpPostProvider |  | 
| 24     : public syncer::HttpPostProviderInterface, |  | 
| 25       public base::RefCountedThreadSafe<FakeServerHttpPostProvider> { |  | 
| 26  public: |  | 
| 27   FakeServerHttpPostProvider( |  | 
| 28       const base::WeakPtr<FakeServer>& fake_server, |  | 
| 29       scoped_refptr<base::SequencedTaskRunner> fake_server_task_runner); |  | 
| 30 |  | 
| 31   // HttpPostProviderInterface implementation. |  | 
| 32   void SetExtraRequestHeaders(const char* headers) override; |  | 
| 33   void SetURL(const char* url, int port) override; |  | 
| 34   void SetPostPayload(const char* content_type, |  | 
| 35                       int content_length, |  | 
| 36                       const char* content) override; |  | 
| 37   bool MakeSynchronousPost(int* error_code, int* response_code) override; |  | 
| 38   void Abort() override; |  | 
| 39   int GetResponseContentLength() const override; |  | 
| 40   const char* GetResponseContent() const override; |  | 
| 41   const std::string GetResponseHeaderValue( |  | 
| 42       const std::string& name) const override; |  | 
| 43 |  | 
| 44  protected: |  | 
| 45   ~FakeServerHttpPostProvider() override; |  | 
| 46 |  | 
| 47  private: |  | 
| 48   friend class base::RefCountedThreadSafe<FakeServerHttpPostProvider>; |  | 
| 49 |  | 
| 50   // |fake_server_| should only be dereferenced on the same thread as |  | 
| 51   // |fake_server_task_runner_| runs on. |  | 
| 52   base::WeakPtr<FakeServer> fake_server_; |  | 
| 53   scoped_refptr<base::SequencedTaskRunner> fake_server_task_runner_; |  | 
| 54 |  | 
| 55   std::string response_; |  | 
| 56   std::string request_url_; |  | 
| 57   int request_port_; |  | 
| 58   std::string request_content_; |  | 
| 59   std::string request_content_type_; |  | 
| 60   std::string extra_request_headers_; |  | 
| 61   int post_error_code_; |  | 
| 62   int post_response_code_; |  | 
| 63 |  | 
| 64   DISALLOW_COPY_AND_ASSIGN(FakeServerHttpPostProvider); |  | 
| 65 }; |  | 
| 66 |  | 
| 67 class FakeServerHttpPostProviderFactory |  | 
| 68     : public syncer::HttpPostProviderFactory { |  | 
| 69  public: |  | 
| 70   FakeServerHttpPostProviderFactory( |  | 
| 71       const base::WeakPtr<FakeServer>& fake_server, |  | 
| 72       scoped_refptr<base::SequencedTaskRunner> fake_server_task_runner); |  | 
| 73   ~FakeServerHttpPostProviderFactory() override; |  | 
| 74 |  | 
| 75   // HttpPostProviderFactory: |  | 
| 76   void Init( |  | 
| 77       const std::string& user_agent, |  | 
| 78       const syncer::BindToTrackerCallback& bind_to_tracker_callback) override; |  | 
| 79   syncer::HttpPostProviderInterface* Create() override; |  | 
| 80   void Destroy(syncer::HttpPostProviderInterface* http) override; |  | 
| 81 |  | 
| 82  private: |  | 
| 83   // |fake_server_| should only be dereferenced on the same thread as |  | 
| 84   // |fake_server_task_runner_| runs on. |  | 
| 85   base::WeakPtr<FakeServer> fake_server_; |  | 
| 86   scoped_refptr<base::SequencedTaskRunner> fake_server_task_runner_; |  | 
| 87 |  | 
| 88   DISALLOW_COPY_AND_ASSIGN(FakeServerHttpPostProviderFactory); |  | 
| 89 }; |  | 
| 90 |  | 
| 91 }  //  namespace fake_server |  | 
| 92 |  | 
| 93 #endif  // SYNC_TEST_FAKE_SERVER_FAKE_SERVER_HTTP_POST_PROVIDER_H_ |  | 
| OLD | NEW | 
|---|