| Index: headless/public/util/http_url_fetcher.cc
|
| diff --git a/headless/public/util/http_url_fetcher.cc b/headless/public/util/http_url_fetcher.cc
|
| index a3171b3f02e5fbb9b72c4ed0cd5c360a6dbd20fa..ac40607cffb3bc4f2ad3d37487d146e9b0d56942 100644
|
| --- a/headless/public/util/http_url_fetcher.cc
|
| +++ b/headless/public/util/http_url_fetcher.cc
|
| @@ -4,7 +4,9 @@
|
|
|
| #include "headless/public/util/http_url_fetcher.h"
|
|
|
| +#include "net/base/elements_upload_data_stream.h"
|
| #include "net/base/io_buffer.h"
|
| +#include "net/base/upload_bytes_element_reader.h"
|
| #include "net/cert/cert_status_flags.h"
|
| #include "net/http/http_response_headers.h"
|
| #include "net/url_request/url_request.h"
|
| @@ -16,6 +18,7 @@ class HttpURLFetcher::Delegate : public net::URLRequest::Delegate {
|
| public:
|
| Delegate(const GURL& rewritten_url,
|
| const std::string& method,
|
| + const std::string& post_data,
|
| const net::HttpRequestHeaders& request_headers,
|
| const net::URLRequestContext* url_request_context,
|
| ResultListener* result_listener);
|
| @@ -56,6 +59,7 @@ class HttpURLFetcher::Delegate : public net::URLRequest::Delegate {
|
| HttpURLFetcher::Delegate::Delegate(
|
| const GURL& rewritten_url,
|
| const std::string& method,
|
| + const std::string& post_data,
|
| const net::HttpRequestHeaders& request_headers,
|
| const net::URLRequestContext* url_request_context,
|
| ResultListener* result_listener)
|
| @@ -66,6 +70,14 @@ HttpURLFetcher::Delegate::Delegate(
|
| this)),
|
| result_listener_(result_listener) {
|
| request_->set_method(method);
|
| +
|
| + if (!post_data.empty()) {
|
| + request_->set_upload(net::ElementsUploadDataStream::CreateWithReader(
|
| + base::MakeUnique<net::UploadBytesElementReader>(post_data.data(),
|
| + post_data.size()),
|
| + 0));
|
| + }
|
| +
|
| request_->SetExtraRequestHeaders(request_headers);
|
| request_->Start();
|
| }
|
| @@ -183,11 +195,12 @@ HttpURLFetcher::~HttpURLFetcher() {}
|
|
|
| void HttpURLFetcher::StartFetch(const GURL& rewritten_url,
|
| const std::string& method,
|
| + const std::string& post_data,
|
| const net::HttpRequestHeaders& request_headers,
|
| - const std::string& devtools_request_id,
|
| ResultListener* result_listener) {
|
| - delegate_.reset(new Delegate(rewritten_url, method, request_headers,
|
| - url_request_context_, result_listener));
|
| + delegate_.reset(new Delegate(rewritten_url, method, post_data,
|
| + request_headers, url_request_context_,
|
| + result_listener));
|
| }
|
|
|
| } // namespace headless
|
|
|