diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-04-18 17:37:44 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2017-04-18 17:37:44 -0700 |
commit | bc61357a44cf4906dda2b30c4474ae891982e620 (patch) | |
tree | 284d70f7c20b1d057f3d52c9f437b6d9312b7a37 /osdep | |
parent | f6d92eb737507e6c56cf59aa7b4c4fce679e23cd (diff) | |
download | infinitytier-bc61357a44cf4906dda2b30c4474ae891982e620.tar.gz infinitytier-bc61357a44cf4906dda2b30c4474ae891982e620.zip |
HTTP backend support for JSONDB
Diffstat (limited to 'osdep')
-rw-r--r-- | osdep/Http.hpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/osdep/Http.hpp b/osdep/Http.hpp index 1ecf4eec..e7d4d03e 100644 --- a/osdep/Http.hpp +++ b/osdep/Http.hpp @@ -135,6 +135,39 @@ public: responseBody); } + /** + * Make HTTP PUT request + * + * It is the responsibility of the caller to set all headers. With PUT, the + * Content-Length and Content-Type headers must be set or the PUT will not + * work. + * + * @return HTTP status code or 0 on error (responseBody will contain error message) + */ + static inline unsigned int PUT( + unsigned long maxResponseSize, + unsigned long timeout, + const struct sockaddr *remoteAddress, + const char *path, + const std::map<std::string,std::string> &requestHeaders, + const void *postData, + unsigned long postDataLength, + std::map<std::string,std::string> &responseHeaders, + std::string &responseBody) + { + return _do( + "PUT", + maxResponseSize, + timeout, + remoteAddress, + path, + requestHeaders, + postData, + postDataLength, + responseHeaders, + responseBody); + } + private: static unsigned int _do( const char *method, |