1#ifndef TENDUKE_HTTP_HTTPREQUEST_H
2#define TENDUKE_HTTP_HTTPREQUEST_H
4#include "./HTTPRequestAuthenticator.h"
38 const std::multimap<std::string, std::string> &headers = std::multimap<std::string, std::string>(),
39 std::shared_ptr<const tenduke::http::HTTPRequestAuthenticator> requestAuthenticator =
nullptr,
40 std::string messageBody =
"",
43 ) : method(std::move(method)), messageBody(std::move(messageBody)), url(std::move(url)),
44 headers(headers), requestAuthenticator(std::move(requestAuthenticator)),
45 connectionTimeoutMs(connectionTimeoutMs), timeoutMs(timeoutMs)
58 const std::string &
getMethod()
const {
return method;}
64 const ::tenduke::net::URL
getURL()
const {
return url;}
70 const std::multimap<std::string, std::string> &
getHeaders()
const {
return headers;}
76 const std::shared_ptr<const tenduke::http::HTTPRequestAuthenticator> &
getRequestAuthenticator()
const {
return requestAuthenticator;}
94 bool hasBody()
const {
return !messageBody.empty();}
97 const std::string method;
98 const std::string messageBody;
99 const ::tenduke::net::URL url;
100 const std::multimap<std::string, std::string> headers;
101 const std::shared_ptr<const tenduke::http::HTTPRequestAuthenticator> requestAuthenticator;
102 const long connectionTimeoutMs;
103 const long timeoutMs;
HTTPRequest(std::string method, ::tenduke::net::URL url, const std::multimap< std::string, std::string > &headers=std::multimap< std::string, std::string >(), std::shared_ptr< const tenduke::http::HTTPRequestAuthenticator > requestAuthenticator=nullptr, std::string messageBody="", long connectionTimeoutMs=DEFAULT_CONNECTION_TIMEOUT_MS, long timeoutMs=DEFAULT_TIMEOUT_MS)
Constructs new instance.
Definition HTTPRequest.h:35
long getTimeoutMs() const
Returns time out in ms.
Definition HTTPRequest.h:88
const std::shared_ptr< const tenduke::http::HTTPRequestAuthenticator > & getRequestAuthenticator() const
Returns HTTP request authenticator.
Definition HTTPRequest.h:76
HTTPRequest(std::string method, ::tenduke::net::URL url, const std::multimap< std::string, std::string > &headers=std::multimap< std::string, std::string >(), std::shared_ptr< const tenduke::http::HTTPRequestAuthenticator > requestAuthenticator=nullptr, std::string messageBody="", long connectionTimeoutMs=DEFAULT_CONNECTION_TIMEOUT_MS, long timeoutMs=DEFAULT_TIMEOUT_MS)
Constructs new instance.
Definition HTTPRequest.h:35
const std::string & getMethod() const
Returns the method.
Definition HTTPRequest.h:58
const ::tenduke::net::URL getURL() const
Returns the URL.
Definition HTTPRequest.h:64
bool hasBody() const
Checks if request has body.
Definition HTTPRequest.h:94
const std::multimap< std::string, std::string > & getHeaders() const
Returns request headers.
Definition HTTPRequest.h:70
const std::string & getMessageBody() const
Returns the message body.
Definition HTTPRequest.h:52
long getConnectionTimeoutMs() const
Returns connection timeout in ms.
Definition HTTPRequest.h:82
Represents URL.
Definition URL.h:21
HTTP-related services.
Definition BadRequest.h:6
const long DEFAULT_CONNECTION_TIMEOUT_MS
Default connection time out in milliseconds.
Definition HTTPRequest.h:14
const long DEFAULT_TIMEOUT_MS
Default total time out in milliseconds.
Definition HTTPRequest.h:17
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16