(http client) rework a bit PATCH pull request, fix compile error with setForceBody and initialize _forceBody to false
This commit is contained in:
		@@ -30,6 +30,7 @@ namespace ix
 | 
				
			|||||||
    HttpClient::HttpClient(bool async)
 | 
					    HttpClient::HttpClient(bool async)
 | 
				
			||||||
        : _async(async)
 | 
					        : _async(async)
 | 
				
			||||||
        , _stop(false)
 | 
					        , _stop(false)
 | 
				
			||||||
 | 
					        , _forceBody(false)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        if (!_async) return;
 | 
					        if (!_async) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -50,9 +51,11 @@ namespace ix
 | 
				
			|||||||
        _tlsOptions = tlsOptions;
 | 
					        _tlsOptions = tlsOptions;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void setForceBody(bool value) {
 | 
					    void HttpClient::setForceBody(bool value)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
        _forceBody = value;
 | 
					        _forceBody = value;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    HttpRequestArgsPtr HttpClient::createRequest(const std::string& url, const std::string& verb)
 | 
					    HttpRequestArgsPtr HttpClient::createRequest(const std::string& url, const std::string& verb)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        auto request = std::make_shared<HttpRequestArgs>();
 | 
					        auto request = std::make_shared<HttpRequestArgs>();
 | 
				
			||||||
@@ -564,6 +567,20 @@ namespace ix
 | 
				
			|||||||
        return request(url, kPut, body, args);
 | 
					        return request(url, kPut, body, args);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    HttpResponsePtr HttpClient::patch(const std::string& url,
 | 
				
			||||||
 | 
					                                      const HttpParameters& httpParameters,
 | 
				
			||||||
 | 
					                                      HttpRequestArgsPtr args)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return request(url, kPatch, serializeHttpParameters(httpParameters), args);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    HttpResponsePtr HttpClient::patch(const std::string& url,
 | 
				
			||||||
 | 
					                                      const std::string& body,
 | 
				
			||||||
 | 
					                                      const HttpRequestArgsPtr args)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return request(url, kPatch, body, args);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    std::string HttpClient::urlEncode(const std::string& value)
 | 
					    std::string HttpClient::urlEncode(const std::string& value)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        std::ostringstream escaped;
 | 
					        std::ostringstream escaped;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,6 +46,13 @@ namespace ix
 | 
				
			|||||||
                            const std::string& body,
 | 
					                            const std::string& body,
 | 
				
			||||||
                            HttpRequestArgsPtr args);
 | 
					                            HttpRequestArgsPtr args);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        HttpResponsePtr patch(const std::string& url,
 | 
				
			||||||
 | 
					                              const HttpParameters& httpParameters,
 | 
				
			||||||
 | 
					                              HttpRequestArgsPtr args);
 | 
				
			||||||
 | 
					        HttpResponsePtr patch(const std::string& url,
 | 
				
			||||||
 | 
					                              const std::string& body,
 | 
				
			||||||
 | 
					                              HttpRequestArgsPtr args);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        HttpResponsePtr request(const std::string& url,
 | 
					        HttpResponsePtr request(const std::string& url,
 | 
				
			||||||
                                const std::string& verb,
 | 
					                                const std::string& verb,
 | 
				
			||||||
                                const std::string& body,
 | 
					                                const std::string& body,
 | 
				
			||||||
@@ -84,7 +91,6 @@ namespace ix
 | 
				
			|||||||
        void log(const std::string& msg, HttpRequestArgsPtr args);
 | 
					        void log(const std::string& msg, HttpRequestArgsPtr args);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        bool gzipInflate(const std::string& in, std::string& out);
 | 
					        bool gzipInflate(const std::string& in, std::string& out);
 | 
				
			||||||
        bool _forceBody;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Async API background thread runner
 | 
					        // Async API background thread runner
 | 
				
			||||||
        void run();
 | 
					        void run();
 | 
				
			||||||
@@ -100,5 +106,7 @@ namespace ix
 | 
				
			|||||||
        std::mutex _mutex; // to protect accessing the _socket (only one socket per client)
 | 
					        std::mutex _mutex; // to protect accessing the _socket (only one socket per client)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SocketTLSOptions _tlsOptions;
 | 
					        SocketTLSOptions _tlsOptions;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        bool _forceBody;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
} // namespace ix
 | 
					} // namespace ix
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user