Chromium Code Reviews| Index: components/cronet/android/url_request_adapter.h |
| diff --git a/components/cronet/android/url_request_adapter.h b/components/cronet/android/url_request_adapter.h |
| index 482f175f626527975157ff9f2736fde8f475030d..ea3686137945438df72987e715e036fea99ed01a 100644 |
| --- a/components/cronet/android/url_request_adapter.h |
| +++ b/components/cronet/android/url_request_adapter.h |
| @@ -9,14 +9,15 @@ |
| #include <string> |
| #include "base/macros.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "net/base/request_priority.h" |
| +#include "net/base/upload_data_stream.h" |
|
mef
2014/08/15 13:30:22
not needed?
mdumitrescu
2014/08/15 15:23:13
Done.
|
| #include "net/http/http_request_headers.h" |
| #include "net/url_request/url_request.h" |
| namespace net { |
| class GrowableIOBuffer; |
| class HttpResponseHeaders; |
| class UploadDataStream; |
| @@ -30,14 +31,15 @@ class URLRequestContextAdapter; |
| // object. |
| class URLRequestAdapter : public net::URLRequest::Delegate { |
| public: |
| // The delegate which is called when the request finishes. |
| class URLRequestAdapterDelegate |
| : public base::RefCountedThreadSafe<URLRequestAdapterDelegate> { |
| public: |
| + virtual void OnAppendChunkCompleted(URLRequestAdapter* request) = 0; |
| virtual void OnResponseStarted(URLRequestAdapter* request) = 0; |
| virtual void OnBytesRead(URLRequestAdapter* request) = 0; |
| virtual void OnRequestFinished(URLRequestAdapter* request) = 0; |
| virtual int ReadFromUploadChannel(net::IOBuffer* buf, int buf_length) = 0; |
| protected: |
| friend class base::RefCountedThreadSafe<URLRequestAdapterDelegate>; |
| @@ -58,14 +60,22 @@ class URLRequestAdapter : public net::URLRequest::Delegate { |
| // Sets the contents of the POST or PUT request |
| void SetUploadContent(const char* bytes, int bytes_len); |
| // Sets the request to streaming upload. |
| void SetUploadChannel(JNIEnv* env, int64 content_length); |
| + // Indicates that the request body will be streamed by calling AppendChunk() |
| + // repeatedly. This must be called before Start(). |
| + void EnableChunkedUpload(); |
| + |
| + // Appends a chunk to the POST body |
| + // This must be called after EnableChunkedUpload() and Start(). |
| + void AppendChunk(const char* bytes, int bytes_len, bool is_last_chunk); |
| + |
| // Starts the request. |
| void Start(); |
| // Cancels the request. |
| void Cancel(); |
| // Releases all resources for the request and deletes the object itself. |
| @@ -91,14 +101,17 @@ class URLRequestAdapter : public net::URLRequest::Delegate { |
| // Returns the value of the specified response header. |
| std::string GetHeader(const std::string& name) const; |
| // Get all response headers, as a HttpResponseHeaders object. |
| net::HttpResponseHeaders* GetResponseHeaders() const; |
| + // Gets all headers. |
| + bool GetFullRequestHeaders(net::HttpRequestHeaders* headers) const; |
|
mef
2014/08/15 13:30:22
This is already there (see 'ChromiumUrlRequest.get
mdumitrescu
2014/08/15 15:23:13
That returns the response headers. We need the req
mef
2014/08/15 15:42:52
Could you elaborate? What's your scenario and what
|
| + |
| // Returns the overall number of bytes read. |
| size_t bytes_read() const { return bytes_read_; } |
| // Returns a pointer to the downloaded data. |
| unsigned char* Data() const; |
| virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; |
| @@ -132,14 +145,15 @@ class URLRequestAdapter : public net::URLRequest::Delegate { |
| int bytes_read_; |
| int total_bytes_read_; |
| int error_code_; |
| int http_status_code_; |
| std::string content_type_; |
| bool canceled_; |
| int64 expected_size_; |
| + bool chunked_upload_; |
| DISALLOW_COPY_AND_ASSIGN(URLRequestAdapter); |
| }; |
| } // namespace cronet |
| #endif // COMPONENTS_CRONET_ANDROID_URL_REQUEST_ADAPTER_H_ |