![]() |
Qore yaml Module 1.0.0
|
this class implements a chunked request handler supporting the DataStream protocol More...
#include <DataStreamRequestHandler.qm.dox.h>
Inherits RestHandler::AbstractRestStreamRequestHandler.
Public Member Methods | |
| constructor (hash< auto > cx, *hash< auto > ah) | |
| creates the chunked request handler according to the arguments | |
| *hash< auto > | getErrorResponse () |
| if an error occurred, then return a hash giving an error response, otherwise return nothing | |
| hash< auto > | getResponseHeaderMessageImpl () |
| returns the response header to the request | |
| nothing | recvImpl (hash v) |
| calls the receive callback as returned by the DataStreamUtil module | |
| auto | sendImpl () |
| calls the send callback as returned by the DataStreamUtil module | |
Public Attributes | |
| code | recv_callback |
| the receive callback as returned by the DataStreamUtil module | |
| code | scb |
| the send callback as returned by the DataStreamUtil module | |
| bool | recv_done = False |
| flag for when all data has been received | |
| bool | send_done = False |
| flag for when all data has been sent | |
| int | err |
| HTTP status code for error response sent. | |
| *string | send_error |
| send error string received | |
Private Member Methods | |
| nothing | recvDataDone (*string err) |
| this method is called when all data has been received | |
| nothing | recvData (auto data) |
| This is the concrete method called when data is received; it calls recvDataImpl() in turn. | |
| auto | sendData () |
| This is the concrete method called when data is received; it calls recvDataImpl() in turn. | |
| nothing | recvDataDoneImpl (*string err) |
| this method is called when all data has been received | |
| abstract nothing | recvDataImpl (auto data) |
| reimplement this method in subclasses to receive decoded and deserialized data | |
| abstract auto | sendDataImpl () |
| reimplement this method in subclasses to support streamed data transfers | |
this class implements a chunked request handler supporting the DataStream protocol
this class must be subclassed and then the recvDataImpl() and sendDataImpl() methods reimplemented to provide data receiving and sending support, respectively.
| *hash< auto > DataStreamRequestHandler::AbstractDataStreamRequestHandler::getErrorResponse | ( | ) |
if an error occurred, then return a hash giving an error response, otherwise return nothing
this method is meant to be called by getResponseHeaderMessageImpl()
| hash< auto > DataStreamRequestHandler::AbstractDataStreamRequestHandler::getResponseHeaderMessageImpl | ( | ) |
returns the response header to the request
"code": the HTTP return code (see HttpServer::HttpCodes)"body": the message body to return in the response; if this key is returned, then the reply is sent immediately; a chunked reply is not made, and send() and sendImpl() are not called"close": (optional) set this key to True if the connection should be unconditionally closed when the handler returns"hdr": (optional) set this key to a hash of extra header information to be returned with the response
|
private |
This is the concrete method called when data is received; it calls recvDataImpl() in turn.
| data | the data received |
|
private |
reimplement this method in subclasses to receive decoded and deserialized data
| data | the argument passed to this callback is the decoded and deserialized data in the message |
| nothing DataStreamRequestHandler::AbstractDataStreamRequestHandler::recvImpl | ( | hash | v | ) |
calls the receive callback as returned by the DataStreamUtil module
The receive callback calls recvDataImpl() to deliver deserialized data
|
private |
This is the concrete method called when data is received; it calls recvDataImpl() in turn.
|
private |
reimplement this method in subclasses to support streamed data transfers
When this method returns no value, it signifies the end of the streamed data transfer
| auto DataStreamRequestHandler::AbstractDataStreamRequestHandler::sendImpl | ( | ) |
calls the send callback as returned by the DataStreamUtil module
The send callback calls sendDataImpl() to get the data to serialize and encode and send as a response