core::net::http::StreamingRequest Class Referenceabstract

The StreamingRequest class encapsulates a request for a web resource, streaming data to the receiver as it receives in addition to accumulating all incoming data. More...

`#include <streaming_request.h>`

Inheritance diagram for core::net::http::StreamingRequest:
Collaboration diagram for core::net::http::StreamingRequest:

## Public Types

typedef std::function< void(const std::string &)> | DataHandler
Public Types inherited from core::net::http::Request
enum class | State { ready , active , done }
| The State enum describes the different states a request can be in. More...
typedef std::function< void(const core::net::Error &)> | ErrorHandler
| ErrorHandler is invoked in case of errors arising while executing the request.
typedef std::function< Progress::Next(const Progress &)> | ProgressHandler
| ProgressHandler is invoked for progress updates while executing the request.
typedef std::function< void(const Response &)> | ResponseHandler
| ResponseHandler is invoked when a request completes.
typedef std::function< Credentials(const std::string &)> | AuthenicationHandler

## Public Member Functions

virtual Response | execute (const ProgressHandler &ph, const DataHandler &dh)=0
virtual void | async_execute (const Handler &handler, const DataHandler &dh)=0
virtual void | pause ()=0
| Pause the request with options for aborting the request. The request will be aborted if transfer speed falls below limit in [bytes/second] for time seconds.
virtual void | resume ()=0
| Resume the request.
virtual void | abort_request_if (std::uint64_t limit, const std::chrono::seconds &time)=0
| Sets options for aborting the request. The request will be aborted if transfer speed belows limit bytes per second for time seconds.
virtual Response | execute (const ProgressHandler &ph)=0
| Synchronously executes the request.
virtual void | async_execute (const Handler &handler)=0
| Asynchronously executes the request, reporting errors, progress and completion to the given handlers.
Public Member Functions inherited from core::net::http::Request
| Request (const Request &)=delete
virtual | ~Request ()=default
Request & | operator= (const Request &)=delete
bool | operator== (const Request &) const =delete
virtual State | state ()=0
| state queries the current state of the operation.
virtual void | set_timeout (const std::chrono::milliseconds &timeout)=0
| Adjusts the timeout of a State::ready request.
virtual std::string | url_escape (const std::string &s)=0
| Returns the input string in URL-escaped format.
virtual std::string | url_unescape (const std::string &s)=0
| Returns the input string in URL-unescaped format.

## Detailed Description

The StreamingRequest class encapsulates a request for a web resource, streaming data to the receiver as it receives in addition to accumulating all incoming data.

Definition at line 34 of file streaming_request.h.

## Member Typedef Documentation

## DataHandler

typedef std::function<void(const std::string&)> core::net::http::StreamingRequest::DataHandler

DataHandler is invoked when a new chunk of data arrives from the server.

Definition at line 39 of file streaming_request.h.

## Member Function Documentation

## abort_request_if()

virtual void core::net::http::StreamingRequest::abort_request_if | ( | std::uint64_t | limit,
|  | const std::chrono::seconds & | time )

pure virtual

Sets options for aborting the request. The request will be aborted if transfer speed belows limit bytes per second for time seconds.

Parameters

  limit | The transfer speed in seconds.
  time | waiting period(seconds) to abort the request.

## async_execute() [1/2]

virtual void core::net::http::Request::async_execute | ( | const Handler & | handler | ) |

virtual

Asynchronously executes the request, reporting errors, progress and completion to the given handlers.

Parameters

  handler | The handlers to called for events happening during execution of the request.
  dh | The data handler receiving chunks of data while executing the request.

Returns
  The response to the request.

Implements core::net::http::Request.

## async_execute() [2/2]

virtual void core::net::http::StreamingRequest::async_execute | ( | const Handler & | handler,
|  | const DataHandler & | dh )

pure virtual

## execute() [1/2]

virtual Response core::net::http::Request::execute | ( | const ProgressHandler & | ph | ) |

virtual

Synchronously executes the request.

Exceptions

  core::net::http::Error | in case of http-related errors.
  core::net::Error | in case of network-related errors.

Returns
  The response to the request.

Implements core::net::http::Request.

## execute() [2/2]

virtual Response core::net::http::StreamingRequest::execute | ( | const ProgressHandler & | ph,
|  | const DataHandler & | dh )

pure virtual

References core::net::http::Request::async_execute().

Here is the call graph for this function:

## pause()

virtual void core::net::http::StreamingRequest::pause | ( |  | ) |

pure virtual

Pause the request with options for aborting the request. The request will be aborted if transfer speed falls below limit in [bytes/second] for time seconds.

Exceptions

  core::net::http::Error | in case of http-related errors.

## resume()

virtual void core::net::http::StreamingRequest::resume | ( |  | ) |

pure virtual

Resume the request.

Exceptions

  core::net::http::Error | in case of http-related errors.

The documentation for this class was generated from the following file:

- streaming_request.h