22 #ifndef BACKENDS_NETWORKING_HTTP_CURL_NETWORKREADSTREAMCURL_H 23 #define BACKENDS_NETWORKING_HTTP_CURL_NETWORKREADSTREAMCURL_H 25 #define FORBIDDEN_SYMBOL_ALLOW_ALL 27 #include "backends/networking/http/networkreadstream.h" 28 #include "common/hash-str.h" 29 #include "common/hashmap.h" 30 #include "common/memstream.h" 31 #include "common/path.h" 32 #include "common/str.h" 33 #include "common/stream.h" 35 #include <curl/curl.h> 42 struct curl_slist *_headersSlist;
48 void setupBufferContents(
const byte *buffer, uint32 bufferSize,
bool uploading,
bool usingPatch,
bool post)
override;
50 static struct curl_slist *requestHeadersToSlist(
const RequestHeaders *headersList);
52 static size_t curlDataCallback(
char *d,
size_t n,
size_t l,
void *p);
53 static size_t curlReadDataCallback(
char *d,
size_t n,
size_t l,
void *p);
54 static size_t curlHeadersCallback(
char *d,
size_t n,
size_t l,
void *p);
55 static int curlProgressCallbackOlder(
void *p,
double dltotal,
double dlnow,
double ultotal,
double ulnow);
58 CURL *getEasyHandle()
const {
return _easy; }
65 NetworkReadStreamCurl(
const char *url,
RequestHeaders *headersList,
const byte *buffer, uint32 bufferSize,
bool uploading,
bool usingPatch,
bool post,
bool keepAlive,
long keepAliveIdle,
long keepAliveInterval);
68 void finished(CURLcode errorCode);
78 bool reuse(
const char *url,
RequestHeaders *headersList,
const byte *buffer, uint32 bufferSize,
bool uploading =
false,
bool usingPatch =
false,
bool post =
true)
override;
92 bool hasError()
const override;
93 const char *getError()
const override;
Definition: scummvmcloud.h:32
bool reuse(const char *url, RequestHeaders *headersList, const Common::String &postFields, bool uploading=false, bool usingPatch=false) override
long httpResponseCode() const override
Definition: networkreadstream-curl.h:39
Common::HashMap< Common::String, Common::String > responseHeadersMap() const override
Definition: networkreadstream.h:37
Common::String currentLocation() const override
void resetStream() override