Index: net/url_request/url_fetcher.h |
diff --git a/net/url_request/url_fetcher.h b/net/url_request/url_fetcher.h |
index 5dcaedde0a9d7945a10bf9f2c40d0a086a8960d1..e08bdaadce457757cab222252d736c34a1b2e4fc 100644 |
--- a/net/url_request/url_fetcher.h |
+++ b/net/url_request/url_fetcher.h |
@@ -92,6 +92,11 @@ class NET_EXPORT URLFetcher { |
// base::SupportsUserData::Data object every time it's called. |
typedef base::Callback<base::SupportsUserData::Data*()> CreateDataCallback; |
+ // Used by SetUploadStreamFactory. The callback should assign a fresh upload |
+ // data stream every time it's called. |
+ typedef base::Callback<scoped_ptr<UploadDataStream>()> |
+ CreateUploadStreamCallback; |
+ |
virtual ~URLFetcher(); |
// |url| is the URL to send the request to. |
@@ -149,6 +154,16 @@ class NET_EXPORT URLFetcher { |
uint64 range_length, |
scoped_refptr<base::TaskRunner> file_task_runner) = 0; |
+ // Sets data only needed by POSTs. All callers making POST requests should |
+ // call one of the SetUpload* methods before the request is started. |
+ // |upload_content_type| is the MIME type of the content, while |callback| is |
+ // the callback to create the upload data stream (the Content-Length header |
+ // value will be set to the length of this data). |callback| may be called |
+ // mutliple times if the request is retried. |
+ virtual void SetUploadStreamFactory( |
+ const std::string& upload_content_type, |
+ const CreateUploadStreamCallback& callback) = 0; |
+ |
// Indicates that the POST data is sent via chunked transfer encoding. |
// This may only be called before calling Start(). |
// Use AppendChunkToUpload() to give the data chunks after calling Start(). |