From fe660cdff59aa3a939479ed60172e5c0803552b2 Mon Sep 17 00:00:00 2001 From: Daniel Wilhelm Date: Sun, 8 Jan 2017 18:21:23 +0100 Subject: 8.7 --- wx+/http.h | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'wx+/http.h') diff --git a/wx+/http.h b/wx+/http.h index febe8f24..cf385d5e 100644 --- a/wx+/http.h +++ b/wx+/http.h @@ -17,9 +17,32 @@ namespace zen Windows: WinInet-based => may be called from worker thread Linux: wxWidgets-based => don't call from worker thread */ -std::string sendHttpPost(const std::wstring& url, const std::wstring& userAgent, const std::vector>& postParams); //throw SysError -std::string sendHttpGet (const std::wstring& url, const std::wstring& userAgent); //throw SysError +class HttpInputStream +{ +public: + std::string readAll(); //throw SysError + + //support zen/serialize.h Unbuffered Input Stream Concept + size_t tryRead(void* buffer, size_t bytesToRead); //throw SysError; may return short, only 0 means EOF! => CONTRACT: bytesToRead > 0! + size_t getBlockSize() const { return 64 * 1024; } + + class Impl; + HttpInputStream(std::unique_ptr&& pimpl); + HttpInputStream(HttpInputStream&&) = default; + ~HttpInputStream(); + +private: + std::unique_ptr pimpl_; +}; + + +HttpInputStream sendHttpGet (const std::wstring& url, const std::wstring& userAgent); //throw SysError +HttpInputStream sendHttpPost(const std::wstring& url, const std::wstring& userAgent, + const std::vector>& postParams); //throw SysError bool internetIsAlive(); //noexcept + +std::string xWwwFormUrlEncode(const std::vector>& paramPairs); +std::vector> xWwwFormUrlDecode(const std::string& str); } #endif //HTTP_h_879083425703425702 -- cgit