10Duke Enterprise C++ Client
Loading...
Searching...
No Matches
WinHttpRequest.h
1#ifndef TENDUKE_HTTP_WIN_WINHTTPREQUEST_H
2#define TENDUKE_HTTP_WIN_WINHTTPREQUEST_H
3
4#include "./InternetHandle.h"
5
6#include <memory>
7#include <string>
8
9#include <windows.h>
10
11namespace tenduke { namespace http { namespace win {
12
15class WinHttpRequest
16{
17public:
18 virtual ~WinHttpRequest() = default;
19 explicit WinHttpRequest(::HINTERNET handle);
20public:
21 virtual void addRequestHeader(const std::string &name, const std::string &value);
22 virtual ::DWORD getResponseStatusCode() const;
23 virtual ::DWORD queryDataAvailable() const;
24 virtual void queryHeaders(
25 ::LPVOID buffer,
26 ::LPDWORD bufferSize
27 ) const;
28 virtual ::DWORD queryTotalSizeOfHeaders() const;
29 virtual void readData(
30 ::LPVOID buffer,
31 ::DWORD numberOfBytesToRead,
32 ::LPDWORD numberOfBytesRead
33 )
34 const;
35 virtual void receiveResponse();
36 virtual void send(const std::string &requestBody) const;
37 virtual void setStatusEventHandler(WINHTTP_STATUS_CALLBACK callback) const;
38 virtual void setTimeouts(
39 long resolveTimoutMs,
40 long connectionTimeoutMs,
41 long sendTimeoutMs,
42 long receiveTimeoutMs
43 ) const;
44
45
46public:
47 std::unique_ptr<const ::tenduke::http::win::InternetHandle> requestHandle;
48 size_t headersLength;
49};
50
51}}}
52
53#endif //TENDUKE_HTTP_WIN_WINHTTPREQUEST_H
HTTP-related services.
Definition BadRequest.h:6
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4