@@ -1319,6 +1319,7 @@ class ClientImpl {
13191319 Result Post (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, UploadProgress progress = nullptr );
13201320 Result Post (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const std::string &boundary, UploadProgress progress = nullptr );
13211321 Result Post (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const MultipartFormDataProviderItems &provider_items, UploadProgress progress = nullptr );
1322+ Result Post (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress = nullptr );
13221323
13231324 Result Put (const std::string &path);
13241325 Result Put (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress = nullptr );
@@ -1336,6 +1337,7 @@ class ClientImpl {
13361337 Result Put (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, UploadProgress progress = nullptr );
13371338 Result Put (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const std::string &boundary, UploadProgress progress = nullptr );
13381339 Result Put (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const MultipartFormDataProviderItems &provider_items, UploadProgress progress = nullptr );
1340+ Result Put (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress = nullptr );
13391341
13401342 Result Patch (const std::string &path);
13411343 Result Patch (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress = nullptr );
@@ -1353,6 +1355,7 @@ class ClientImpl {
13531355 Result Patch (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, UploadProgress progress = nullptr );
13541356 Result Patch (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const std::string &boundary, UploadProgress progress = nullptr );
13551357 Result Patch (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const MultipartFormDataProviderItems &provider_items, UploadProgress progress = nullptr );
1358+ Result Patch (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress = nullptr );
13561359
13571360 Result Delete (const std::string &path, DownloadProgress progress = nullptr );
13581361 Result Delete (const std::string &path, const char *body, size_t content_length, const std::string &content_type, DownloadProgress progress = nullptr );
@@ -1662,6 +1665,7 @@ class Client {
16621665 Result Post (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, UploadProgress progress = nullptr );
16631666 Result Post (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const std::string &boundary, UploadProgress progress = nullptr );
16641667 Result Post (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const MultipartFormDataProviderItems &provider_items, UploadProgress progress = nullptr );
1668+ Result Post (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress = nullptr );
16651669
16661670 Result Put (const std::string &path);
16671671 Result Put (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress = nullptr );
@@ -1679,6 +1683,7 @@ class Client {
16791683 Result Put (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, UploadProgress progress = nullptr );
16801684 Result Put (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const std::string &boundary, UploadProgress progress = nullptr );
16811685 Result Put (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const MultipartFormDataProviderItems &provider_items, UploadProgress progress = nullptr );
1686+ Result Put (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress = nullptr );
16821687
16831688 Result Patch (const std::string &path);
16841689 Result Patch (const std::string &path, const char *body, size_t content_length, const std::string &content_type, UploadProgress progress = nullptr );
@@ -1696,6 +1701,7 @@ class Client {
16961701 Result Patch (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, UploadProgress progress = nullptr );
16971702 Result Patch (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const std::string &boundary, UploadProgress progress = nullptr );
16981703 Result Patch (const std::string &path, const Headers &headers, const MultipartFormDataItemsForClientInput &items, const MultipartFormDataProviderItems &provider_items, UploadProgress progress = nullptr );
1704+ Result Patch (const std::string &path, const Headers &headers, const std::string &body, const std::string &content_type, ContentReceiver content_receiver, DownloadProgress progress = nullptr );
16991705
17001706 Result Delete (const std::string &path, DownloadProgress progress = nullptr );
17011707 Result Delete (const std::string &path, const char *body, size_t content_length, const std::string &content_type, DownloadProgress progress = nullptr );
@@ -9115,6 +9121,32 @@ ClientImpl::Post(const std::string &path, const Headers &headers,
91159121 content_type, progress);
91169122}
91179123
9124+ inline Result ClientImpl::Post (const std::string &path, const Headers &headers,
9125+ const std::string &body,
9126+ const std::string &content_type,
9127+ ContentReceiver content_receiver,
9128+ DownloadProgress progress) {
9129+ Request req;
9130+ req.method = " POST" ;
9131+ req.path = path;
9132+ req.headers = headers;
9133+ req.body = body;
9134+ req.content_receiver =
9135+ [content_receiver](const char *data, size_t data_length,
9136+ uint64_t /* offset*/ , uint64_t /* total_length*/ ) {
9137+ return content_receiver (data, data_length);
9138+ };
9139+ req.download_progress = std::move (progress);
9140+
9141+ if (max_timeout_msec_ > 0 ) {
9142+ req.start_time_ = std::chrono::steady_clock::now ();
9143+ }
9144+
9145+ if (!content_type.empty ()) { req.set_header (" Content-Type" , content_type); }
9146+
9147+ return send_ (std::move (req));
9148+ }
9149+
91189150inline Result ClientImpl::Put (const std::string &path) {
91199151 return Put (path, std::string (), std::string ());
91209152}
@@ -9242,6 +9274,32 @@ ClientImpl::Put(const std::string &path, const Headers &headers,
92429274 content_type, progress);
92439275}
92449276
9277+ inline Result ClientImpl::Put (const std::string &path, const Headers &headers,
9278+ const std::string &body,
9279+ const std::string &content_type,
9280+ ContentReceiver content_receiver,
9281+ DownloadProgress progress) {
9282+ Request req;
9283+ req.method = " PUT" ;
9284+ req.path = path;
9285+ req.headers = headers;
9286+ req.body = body;
9287+ req.content_receiver =
9288+ [content_receiver](const char *data, size_t data_length,
9289+ uint64_t /* offset*/ , uint64_t /* total_length*/ ) {
9290+ return content_receiver (data, data_length);
9291+ };
9292+ req.download_progress = std::move (progress);
9293+
9294+ if (max_timeout_msec_ > 0 ) {
9295+ req.start_time_ = std::chrono::steady_clock::now ();
9296+ }
9297+
9298+ if (!content_type.empty ()) { req.set_header (" Content-Type" , content_type); }
9299+
9300+ return send_ (std::move (req));
9301+ }
9302+
92459303inline Result ClientImpl::Patch (const std::string &path) {
92469304 return Patch (path, std::string (), std::string ());
92479305}
@@ -9374,6 +9432,32 @@ ClientImpl::Patch(const std::string &path, const Headers &headers,
93749432 content_type, progress);
93759433}
93769434
9435+ inline Result ClientImpl::Patch (const std::string &path, const Headers &headers,
9436+ const std::string &body,
9437+ const std::string &content_type,
9438+ ContentReceiver content_receiver,
9439+ DownloadProgress progress) {
9440+ Request req;
9441+ req.method = " PATCH" ;
9442+ req.path = path;
9443+ req.headers = headers;
9444+ req.body = body;
9445+ req.content_receiver =
9446+ [content_receiver](const char *data, size_t data_length,
9447+ uint64_t /* offset*/ , uint64_t /* total_length*/ ) {
9448+ return content_receiver (data, data_length);
9449+ };
9450+ req.download_progress = std::move (progress);
9451+
9452+ if (max_timeout_msec_ > 0 ) {
9453+ req.start_time_ = std::chrono::steady_clock::now ();
9454+ }
9455+
9456+ if (!content_type.empty ()) { req.set_header (" Content-Type" , content_type); }
9457+
9458+ return send_ (std::move (req));
9459+ }
9460+
93779461inline Result ClientImpl::Delete (const std::string &path,
93789462 DownloadProgress progress) {
93799463 return Delete (path, Headers (), std::string (), std::string (), progress);
@@ -10679,6 +10763,14 @@ inline Result Client::Post(const std::string &path, const Headers &headers,
1067910763 UploadProgress progress) {
1068010764 return cli_->Post (path, headers, items, provider_items, progress);
1068110765}
10766+ inline Result Client::Post (const std::string &path, const Headers &headers,
10767+ const std::string &body,
10768+ const std::string &content_type,
10769+ ContentReceiver content_receiver,
10770+ DownloadProgress progress) {
10771+ return cli_->Post (path, headers, body, content_type, content_receiver,
10772+ progress);
10773+ }
1068210774
1068310775inline Result Client::Put (const std::string &path) { return cli_->Put (path); }
1068410776inline Result Client::Put (const std::string &path, const Headers &headers) {
@@ -10764,6 +10856,14 @@ inline Result Client::Put(const std::string &path, const Headers &headers,
1076410856 UploadProgress progress) {
1076510857 return cli_->Put (path, headers, items, provider_items, progress);
1076610858}
10859+ inline Result Client::Put (const std::string &path, const Headers &headers,
10860+ const std::string &body,
10861+ const std::string &content_type,
10862+ ContentReceiver content_receiver,
10863+ DownloadProgress progress) {
10864+ return cli_->Put (path, headers, body, content_type, content_receiver,
10865+ progress);
10866+ }
1076710867
1076810868inline Result Client::Patch (const std::string &path) {
1076910869 return cli_->Patch (path);
@@ -10853,6 +10953,14 @@ Client::Patch(const std::string &path, const Headers &headers,
1085310953 UploadProgress progress) {
1085410954 return cli_->Patch (path, headers, items, provider_items, progress);
1085510955}
10956+ inline Result Client::Patch (const std::string &path, const Headers &headers,
10957+ const std::string &body,
10958+ const std::string &content_type,
10959+ ContentReceiver content_receiver,
10960+ DownloadProgress progress) {
10961+ return cli_->Patch (path, headers, body, content_type, content_receiver,
10962+ progress);
10963+ }
1085610964
1085710965inline Result Client::Delete (const std::string &path,
1085810966 DownloadProgress progress) {
0 commit comments