HttpRequest.h
Go to the documentation of this file.
27 using RequestHeadersCompletedDelegate = Delegate<int(HttpConnection& client, HttpResponse& response)>;
28 using RequestBodyDelegate = Delegate<int(HttpConnection& client, const char* at, size_t length)>;
54 headersCompletedDelegate(value.headersCompletedDelegate), requestBodyDelegate(value.requestBodyDelegate),
HttpMethod
Strongly-typed enum which shadows http_method from http_parser library.
Definition: HttpCommon.h:42
Definition: HttpRequestAuth.h:20
virtual void setRequest(HttpRequest *request)=0
Definition: HttpClientConnection.h:29
Provides http base used for client and server connections.
Definition: HttpConnection.h:28
void setMultiple(const HttpHeaders &headers)
RequestBodyDelegate requestBodyDelegate
Definition: HttpRequest.h:294
const String & getPostParameter(const String &name)
Get POST parameter value.
Definition: HttpRequest.h:144
HttpRequest * onHeadersComplete(RequestHeadersCompletedDelegate delegateFunction)
Definition: HttpRequest.h:228
HttpRequest()=default
RequestHeadersCompletedDelegate headersCompletedDelegate
Definition: HttpRequest.h:293
static String toString(const HttpRequest &req)
Tries to present a readable version of the request.
Definition: HttpRequest.h:276
HttpRequest * setFile(const String &formElementName, ReadWriteStream *stream)
Sets a file to be sent.
Definition: HttpRequest.h:111
HttpRequest * clone() const
Clone this request into a new object using the copy constructor.
Definition: HttpRequest.h:64
ReadWriteStream * responseStream
User-requested stream to store response.
Definition: HttpRequest.h:299
int retries
how many times the request should be send again...
Definition: HttpRequest.h:288
HttpRequest * setBody(const uint8_t *rawData, size_t length)
Set body content by copying binary data.
void reset()
Clear buffers and reset to default state in preparation for another request.
HttpRequest * setBody(String &&body) noexcept
Set body from String object using move semantics: body will be invalid on return.
String toString() const
Tries to present a readable version of the current request values.
HttpRequest * setHeaders(const HttpHeaders &headers)
Definition: HttpRequest.h:86
IDataSourceStream * getBodyStream()
Return the current body stream.
Definition: HttpRequest.h:180
HttpRequest * setResponseStream(ReadWriteStream *stream)
Instead of storing the response body we can set a stream that will take care to process it.
HttpRequest * setHeader(const String &name, const String &value)
Definition: HttpRequest.h:92
ReadWriteStream * getResponseStream()
Get the response stream (if any)
Definition: HttpRequest.h:223
HttpRequest * onSslInit(SslInitDelegate delegate)
To customise SSL session options, provide a callback.
Definition: HttpRequest.h:258
HttpRequest * onRequestComplete(RequestCompletedDelegate delegateFunction)
Definition: HttpRequest.h:240
void * args
Used to store data that should be valid during a single request.
Definition: HttpRequest.h:290
String getQueryParameter(const String &name, const String &defaultValue=nullptr) const
Get parameter from query fields.
Definition: HttpRequest.h:154
String getBody()
Moves content from the body stream into a String.
Definition: HttpRequest.h:166
RequestCompletedDelegate requestCompletedDelegate
Definition: HttpRequest.h:295
HttpRequest(const HttpRequest &value)
Copy constructor.
Definition: HttpRequest.h:52
HttpRequest * setBody(IDataSourceStream *stream)
Set body using given stream object, and retain ownership.
const String & getHeader(const String &name)
Get header field value.
Definition: HttpRequest.h:134
HttpRequest * setBody(const String &body)
Set body from String object.
Definition: HttpRequest.h:191
HttpRequest * onBody(RequestBodyDelegate delegateFunction)
Definition: HttpRequest.h:234
HttpRequest * setPostParameter(const String &name, const String &value)
Definition: HttpRequest.h:98
Represents either an incoming or outgoing response to a HTTP request.
Definition: HttpResponse.h:26
Definition: HttpServerConnection.h:34
virtual bool moveString(String &s)
Memory-based streams may be able to move content into a String.
Definition: DataSourceStream.h:192
const char * c_str() const
Get a constant (un-modifiable) pointer to String content.
Definition: WString.h:609
size_t length(void) const
Obtain the String length in characters, excluding NUL terminator.
Definition: WString.h:238
IDataSourceStream * stream
The currently active stream being sent.
Definition: TcpClient.h:165
const String & getQueryParameter(const String &name, const String &defaultValue=nullptr) const
Get a query parameter.
Definition: Url.h:184
1.9.1