172    "101": 
"Switching Protocols",
 
  181    "203": 
"Non-Authoritative Information",
 
  183    "205": 
"Reset Content",
 
  184    "206": 
"Partial Content",
 
  186    # RFC 4918: WebDAV: The message body that follows is an XML message and can contain a number of separate response 
  187    #           codes, depending on how many sub-requests were made 
  188    "207": 
"Multi-Status",
 
  190    # RFC 5842: WebDAV: The members of a DAV binding have already been enumerated in a previous reply to this request, 
  191    #           and are not being included again 
  192    "208": 
"Already Reported",
 
  198    "300": 
"Multiple Choices",
 
  199    "301": 
"Moved Permanently",
 
  202    "304": 
"Not Modified",
 
  204    #"306": "(Reserved)",
 
  205    "307": 
"Temporary Redirect",
 
  206    "308": 
"Permanent Redirect",
 
  208    # 400s: Client Errors 
  209    "400": 
"Bad Request",
 
  210    "401": 
"Unauthorized",
 
  211    "402": 
"Payment Required",
 
  214    "405": 
"Method Not Allowed",
 
  215    "406": 
"Not Acceptable",
 
  216    "407": 
"Proxy Authentication Required",
 
  217    "408": 
"Request Timeout",
 
  220    "411": 
"Length Required",
 
  221    "412": 
"Precondition Failed",
 
  222    "413": 
"Request Entity Too Large",
 
  223    "414": 
"Request-URI Too Long",
 
  224    "415": 
"Unsupported Media Type",
 
  225    "416": 
"Requested Range Not Satisfiable",
 
  226    "417": 
"Expectation Failed",
 
  229    "418": 
"I'm a teapot",
 
  231    # Returned by the Twitter Search and Trends API when the client is being rate limited 
  232    "420": 
"Enhance Your Calm",
 
  234    # RFC 4918: WebDAV: The request was well-formed but was unable to be followed due to semantic errors 
  235    "422": 
"Unprocessable Entity",
 
  237    # RFC 4918: WebDAV: The resource that is being accessed is locked 
  240    # RFC 4918: WebDAV: The request failed due to failure of a previous request (e.g. a PROPPATCH) 
  241    "424": 
"Failed Dependency",
 
  243    # Internet draft: Defined in drafts of "WebDAV Advanced Collections Protocol", but not present in "Web Distributed
 
  244    #                 Authoring and Versioning (WebDAV) Ordered Collections Protocol"
 
  245    "425": 
"Unordered Collection",
 
  247    # RFC 2817: The client should switch to a different protocol such as TLS/1.0 
  248    "426": 
"Upgrade Required",
 
  250    # RFC 6585: The origin server requires the request to be conditional. Intended to prevent "the 'lost update' 
  251    #           problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when 
  252    #           meanwhile a third party has modified the state on the server, leading to a conflict." 
  253    "428": 
"Precondition Required",
 
  255    # RFC 6585: The user has sent too many requests in a given amount of time. Intended for use with rate limiting 
  257    "429": 
"Too Many Requests",
 
  260    "431": 
"Request Header Fields Too Large",
 
  262    # 500s: Server Errors 
  263    "500": 
"Internal Server Error",
 
  264    "501": 
"Not Implemented",
 
  265    "502": 
"Bad Gateway",
 
  266    "503": 
"Service Unavailable",
 
  267    "504": 
"Gateway Timeout",
 
  268    "505": 
"HTTP Version Not Supported",
 
  269    "509": 
"Bandwidth Limit Exceeded",
 
  271    # RFC 2774: Further extensions to the request are required for the server to fulfill it 
  272    "510": 
"Not Extended",
 
  274    # RFC 6585: The client needs to authenticate to gain network access. Intended for use by intercepting proxies used 
  275    #           to control access to the network (e.g. "captive portals" used to require agreement to Terms of Service
 
  276    #           before granting full Internet access via a Wi-Fi hotspot) 
  277    "511": 
"Network Authentication Required",
 
  364public hashdecl HttpCertInfo {
 
  378    *
string key_password;
 
  381    *SSLCertificate cert;
 
  525        *
string cert_loc, *
string key_loc, *
string key_password) {
 
  526    hash<HttpListenerOptionInfo> rv({
 
  547        *
string key_loc, *
string key_password) {
 
  548    hash<HttpListenerOptionInfo> rv();
 
  724    hash<HttpResponseInfo> 
do401(
string msg = 
'Authentication is required to access this server', *hash<auto> cx);
 
  766            reference<hash<auto>> cx) {
 
  771        if (hdr.authorization);
 
  780        } 
catch (hash<ExceptionInfo> ex) {
 
  782            string str = sprintf(
"%s: %s: %s: received from %s", get_ex_pos(ex), ex.err, ex.desc, cx.
"peer-info".address_desc);
 
  785        return do401(NOTHING, cx);
 
 1191    hash<HttpResponseInfo> 
handleRequest(hash<auto> cx, hash<auto> hdr, *data body);
 
 1207            hash<auto> hdr, *data body) {
 
 1212      static data 
decodeBody(
string content_encoding, binary body, *
string string_encoding);
 
 1255      static *
string getLogMessage(hash<auto> cx, hash api, reference params, *reference<string> args);
 
 1275      static hash<HttpResponseInfo> 
makeResponse(hash<auto> hdr, 
int code, 
string fmt);
 
 1281      static hash<HttpResponseInfo> 
makeResponse(hash<auto> hdr, 
int code, binary body);
 
 1284      static hash<HttpResponseInfo> 
makeResponse(
int code, *data body, *hash<auto> hdr);
 
 1289      static hash<HttpResponseInfo> 
makeResponse(
int code, *InputStream chunked_body, *hash<auto> hdr);
 
 1292      static hash<HttpResponseInfo> 
make200(
string fmt);
 
 1295      static hash<HttpResponseInfo> 
make200(hash<auto> hdr, 
string fmt);
 
 1298      static hash<HttpResponseInfo> 
make200(hash<auto> hdr, InputStream chunked_body);
 
 1301      static hash<HttpResponseInfo> 
make200(InputStream chunked_body);
 
 1304      static hash<HttpResponseInfo> 
make400(
string fmt);
 
 1307      static hash<HttpResponseInfo> 
make400(hash<auto> hdr, 
string fmt);
 
 1310      static hash<HttpResponseInfo> 
make500(
string fmt);
 
 1313      static hash<HttpResponseInfo> 
make500(hash<auto> hdr, 
string fmt);
 
 1316      static hash<HttpResponseInfo> 
make501(
string fmt);
 
 1319      static hash<HttpResponseInfo> 
make501(hash<auto> hdr, 
string fmt);
 
 1322    static hash<HttpResponseInfo> 
redirect(hash<auto> cx, hash<auto> request_hdr, 
string path, 
int status_code = 301,
 
 1323            *hash<auto> response_hdr) {
 
 1326        string uri = sprintf(
"http%s://%s/%s", cx.ssl ? 
"s" : 
"", request_hdr.host, path);
 
 1327        return <HttpResponseInfo>{
 
 1328            "code": status_code,
 
 1329            "hdr": response_hdr + {
"Location": uri},
 
 1330            "body": request_hdr.method != 
"HEAD" ? sprintf(
"redirecting to %s", uri) : NOTHING,
 
 1427    start(softstring lid, hash<auto> cx, hash<auto> hdr, Socket s);
 
 1472     abstract 
startImpl(softstring lid, hash<auto> cx, hash<auto> hdr, Socket s);
 
abstract base class for external authentication
Definition: HttpServerUtil.qm.dox.h:667
 
hash< HttpResponseInfo > do401(string msg='Authentication is required to access this server', *hash< auto > cx)
returns a 401 repsonse with the given string argument as the message body
 
authenticateByIP(string ip, reference< string > user)
called when the connection requires authentication, but no authentication credentials were supplied,...
 
hash< auto > getAuthHeader()
returns a hash with one item - WWW-Authenticate header set to correct realm
 
bool requiresAuthentication()
called to check if the connection requires authentication
 
*hash< HttpResponseInfo > authenticateRequest(HttpListenerInterface listener, hash< auto > hdr, reference< hash< auto > > cx)
primary method called to authenticate each request
Definition: HttpServerUtil.qm.dox.h:765
 
string getRealm()
returns the authentication realm as a string
 
hash< auto > getAuthHeader(hash< auto > cx)
returns a hash with one item - WWW-Authenticate header set to correct realm
 
authenticate(string user, string pass='')
called to authenticate a user for a connection
 
abstract class that all HTTP request handler objects must inherit from
Definition: HttpServerUtil.qm.dox.h:1025
 
hash< HttpResponseInfo > handleRequest(HttpListenerInterface listener, Socket s, hash< auto > cx, hash< auto > hdr, *data body)
top-level request handling method
Definition: HttpServerUtil.qm.dox.h:1195
 
hash< HttpResponseInfo > handleRequest(hash< auto > cx, hash< auto > hdr, *data body)
will be called when a request is received that should be directed to the handler
 
static hash< HttpResponseInfo > make501(string fmt)
creates a hash for an HTTP 501 error response with the response message body as a string
 
bool stream
if the handler supports streaming requests/responses with chunked data
Definition: HttpServerUtil.qm.dox.h:1040
 
notifyClosed(*code c)
calls the argument when the persistent connection is closed
 
restoreThreadLocalData(*hash< auto > data)
called after handleRequest() with any data returned from saveThreadData()
 
timeout timeout_ms
send and receive socket timeout in milliseconds
Definition: HttpServerUtil.qm.dox.h:1043
 
static hash< HttpResponseInfo > makeResponse(int code, string fmt)
creates a hash for an HTTP response with the response code and the response message body as a formatt...
 
const NotificationThreadKey
thread-local key string for notification callbacks
Definition: HttpServerUtil.qm.dox.h:1046
 
static hash< HttpResponseInfo > make500(string fmt)
creates a hash for an HTTP 500 error response with the response message body as a string
 
bool decompress_to_string
if automatically decompressed POSTed data should be converted to a string
Definition: HttpServerUtil.qm.dox.h:1037
 
private AbstractStreamRequest getStreamRequestImpl(HttpListenerInterface listener, Socket s, hash< auto > cx, hash< auto > hdr, *data body)
returns the AbstractStreamRequest object for handling chunked requests
Definition: HttpServerUtil.qm.dox.h:1206
 
static data decodeBody(string content_encoding, binary body, *string string_encoding)
decodes a message body with content-encoding
 
static hash< HttpResponseInfo > makeResponse(int code, *data body, *hash< auto > hdr)
creates a hash for an HTTP response with the response code and a literal response message body
 
const PersistenceThreadKey
thread-local key string for the persistent flag
Definition: HttpServerUtil.qm.dox.h:1049
 
static hash< HttpResponseInfo > make200(InputStream chunked_body)
creates a hash for an HTTP 200 OK error response with the response message body from an input stream
 
*AbstractAuthenticator auth
the optional AbstractAuthenticator for requests to this handler
Definition: HttpServerUtil.qm.dox.h:1029
 
static hash< HttpResponseInfo > makeResponse(int code, *InputStream chunked_body, *hash< auto > hdr)
creates a hash for an HTTP response with the response code and a response message body from an input ...
 
bool isPersistent()
returns True if the current connection is persistent, False if not
 
static staticPersistenceCleanup()
removes the thread-local data key in case the object is destroyed in another thread
 
static hash< HttpResponseInfo > makeResponse(hash< auto > hdr, int code, binary body)
creates a hash for an HTTP response with the response code and the response message body as binary da...
 
*data getMessageBody(Socket s, hash< auto > hdr, *data body, bool decode=True)
optionally retrieves and post-processes any message body
 
static binary encodeBody(string content_encoding, data body)
encodes a message body with content-encoding
 
nothing persistentClosed()
called externally when a persistent connection is closed
 
static hash< HttpResponseInfo > make501(hash< auto > hdr, string fmt)
creates a hash for an HTTP 501 error response with the response message body as a string
 
constructor(*AbstractAuthenticator n_auth, softbool n_stream=False)
create the object optionally with the given AbstractAuthenticator
 
static hash< HttpResponseInfo > make400(string fmt)
creates a hash for an HTTP 400 error response with the response message body as a string
 
nothing checkPersistent(hash< auto > cx, hash< auto > hdr)
this method will throw an exception if a persistent connection cannot be granted
 
bool decompress
if POSTed data should be decompressed automatically if there is content-encoding
Definition: HttpServerUtil.qm.dox.h:1032
 
static hash< HttpResponseInfo > makeResponse(hash< auto > hdr, int code, string fmt)
creates a hash for an HTTP response with the response code and the response message body as a formatt...
 
static *string getLogMessage(hash< auto > cx, hash api, reference params, *reference< string > args)
helper method for handling log messages
 
*hash< auto > saveThreadLocalData()
called before handleRequest()
 
string maskData(string msg)
this method can be used to mask data in debug messages
 
static hash< HttpResponseInfo > make500(hash< auto > hdr, string fmt)
creates a hash for an HTTP 500 error response with the response message body as a string
 
static hash< HttpResponseInfo > make200(hash< auto > hdr, InputStream chunked_body)
creates a hash for an HTTP 200 OK error response with the response message body from an input stream
 
hash< HttpResponseInfo > handleExpectHeader(hash< auto > cx, hash< auto > hdr)
Called if the request contains an "Expect: 100-continue" header.
 
static hash< HttpResponseInfo > make200(string fmt)
creates a hash for an HTTP 200 OK error response with the response message body as a string
 
static staticNotificationCleanup()
removes the thread-local data key in case the object is destroyed in another thread
 
static hash< HttpResponseInfo > make200(hash< auto > hdr, string fmt)
creates a hash for an HTTP 200 OK error response with the response message body as a string
 
static hash< HttpResponseInfo > makeResponse(int code, binary body)
creates a hash for an HTTP response with the response code and the response message body as binary da...
 
static hash< HttpResponseInfo > redirect(hash< auto > cx, hash< auto > request_hdr, string path, int status_code=301, *hash< auto > response_hdr)
generates a redirect hash for the given path
Definition: HttpServerUtil.qm.dox.h:1322
 
setPersistent(bool p=True)
called externally to notify the handler that the connection will be persistent
 
static hash< HttpResponseInfo > make400(hash< auto > hdr, string fmt)
creates a hash for an HTTP 400 error response with the response message body as a string
 
abstract class that all HTTP dedicated socket handler objects must inherit from
Definition: HttpServerUtil.qm.dox.h:1498
 
constructor(*AbstractAuthenticator auth)
create the object optionally with the given AbstractAuthenticator
 
Abstract class for HTTP handlers for handling protocol switching.
Definition: HttpServerUtil.qm.dox.h:1376
 
stop(softstring lid)
called from the HTTP server when the socket should be closed due to an HTTP listener being stopped
 
stopImpl()
called from the HTTP server when the socket should be closed due to an external request
 
abstract startImpl(softstring lid, hash< auto > cx, hash< auto > hdr, Socket s)
called from the HTTP server after the handleRequest() method indicates that a dedicated connection sh...
 
Mutex m()
listener reference hash mutex
 
hash< string, int > lh
hash of listener references; this is to stop all connections associated with a particular listener
Definition: HttpServerUtil.qm.dox.h:1384
 
start(softstring lid, hash< auto > cx, hash< auto > hdr, Socket s)
called from the HTTP server after the handleRequest() method indicates that a dedicated connection sh...
 
hash< string, bool > lsh
hash of listener stop flags
Definition: HttpServerUtil.qm.dox.h:1387
 
bool stop
stop listener flag
Definition: HttpServerUtil.qm.dox.h:1381
 
stop()
called from the HTTP server when the socket should be closed due to an external request
 
stopImpl(string lid)
called from the HTTP server when the socket should be closed because the listener is stopping
 
this abstract class defines the interface for classes that provide logging methods
Definition: HttpServerUtil.qm.dox.h:612
 
logArgs(*softlist< auto > args)
calls log() with the given args
 
logErrorArgs(*softlist< auto > args)
calls logError() with the given args
 
abstract log(string fmt)
called to log information to the registered log code
 
abstract logError(string fmt)
called to log error information to the registered error log code
 
abstract class for streaming HTTP chunked requests/responses
Definition: HttpServerUtil.qm.dox.h:847
 
auto sendImpl()
callback method for sending chunked data
 
hash< auto > cx
the call context variable
Definition: HttpServerUtil.qm.dox.h:860
 
hash< auto > hdr
a hash of request headers
Definition: HttpServerUtil.qm.dox.h:862
 
constructor(HttpListenerInterface listener, AbstractHttpRequestHandler handler, Socket s, hash< auto > cx, hash< auto > hdr, auto body)
creates the object with the given attributes
Definition: HttpServerUtil.qm.dox.h:882
 
auto send()
this is the primary callback for sending chunked responses
 
logChunk(bool send, int size)
this method can be overridden in base classes to log each HTTP chunk sent
 
AbstractHttpRequestHandler handler
the request handler for the request
Definition: HttpServerUtil.qm.dox.h:856
 
nothing recvImpl(hash< auto > v)
callback method for receiving chunked data; the default implementation in this base class does nothin...
 
Socket s
the Socket object for the response
Definition: HttpServerUtil.qm.dox.h:858
 
hash< HttpHandlerResponseInfo > handleRequest()
handles the request
 
HttpListenerInterface listener
an HttpListenerInterface object for the listener serving the request for logging purposes
Definition: HttpServerUtil.qm.dox.h:854
 
timeout timeout_ms
send and receive timeout
Definition: HttpServerUtil.qm.dox.h:866
 
hash< HttpHandlerResponseInfo > getResponseHeaderMessage()
this method returns the response message description hash by calling getResponseHeaderMessageImpl()
 
auto body
any message body given in a non-chunked request; could already be deserialized
Definition: HttpServerUtil.qm.dox.h:864
 
nothing recv(hash< auto > v)
this is the primary callback for receiving chunked data; data will be logged, and then recvImpl() is ...
 
hash< HttpResponseInfo > getResponseHeaderMessageImpl()
this method should return the response message description hash
 
hash< HttpHandlerResponseInfo > sendResponse()
called to either create the response hash or send a chunked response directly
 
abstract class for HTTP request handlers anchored at a specific URL
Definition: HttpServerUtil.qm.dox.h:1336
 
string url_root
root part of URL for matching requests
Definition: HttpServerUtil.qm.dox.h:1340
 
constructor(string n_url_root, *AbstractAuthenticator auth)
creates the object based on the URL root and optional authenticator
 
string getRelativePath(string path)
returns the relative path anchored from the url_root if possible
 
this abstract class defines the public interface of the private HttpListener class defined in the Htt...
Definition: HttpServerUtil.qm.dox.h:641
 
abstract addUserThreadContext(hash< auto > uctx)
adds user-defined data to be returned in the "uctx" context key when serving requests from this liste...
 
abstract auto removeUserThreadContext(*string k)
removes the given key from the "uctx" context key
 
logResponse(hash< auto > cx, hash< auto > rv)
method to log a response message
 
class providing automatic authentication for all requests
Definition: HttpServerUtil.qm.dox.h:790
 
*hash< HttpResponseInfo > authenticateRequest(HttpListenerInterface listener, hash< auto > hdr, reference< hash > cx)
primary method called to authenticate each request
 
const LP_LEVELMASK
mask for the log level
Definition: HttpServerUtil.qm.dox.h:287
 
const LP_LOGPARAMS
Definition: HttpServerUtil.qm.dox.h:284
 
the main namespace for the HttpServer and HttpServerUtil modules
Definition: HttpServerUtil.qm.dox.h:148
 
const HttpCodes
map of HTTP result codes and text messages
Definition: HttpServerUtil.qm.dox.h:169
 
const DefaultTimeout
default timeout in ms
Definition: HttpServerUtil.qm.dox.h:156
 
hash< HttpCertInfo > http_get_ssl_objects(hash< auto > listener_params)
converts a hash to HTTP certificate info if possible
 
const HttpServerVersion
version of the HttpServer's implementation
Definition: HttpServerUtil.qm.dox.h:150
 
const ReadTimeout
read timeout in ms
Definition: HttpServerUtil.qm.dox.h:159
 
nothing http_set_reply_headers(Socket s, hash< auto > cx, reference< auto > rv, *string server_string)
helper function for setting HTTP response headers
 
string http_get_url_from_bind(softstring bind, *string host)
returns a complete URL from a bind address
 
hash< HttpListenerOptionInfo > http_get_listener_options(*string node, *softstring service, *string cert_loc, *string key_loc, *string key_password)
returns a listener option info hash from flat arguments
Definition: HttpServerUtil.qm.dox.h:524
 
const MaxSslFileLen
maximum X.509 and private key file length
Definition: HttpServerUtil.qm.dox.h:166
 
hash< HttpListenerOptionInfo > http_get_listener_options_from_bind(*softstring bind, *string cert_loc, *string key_loc, *string key_password)
returns a listener option info hash from flat arguments
Definition: HttpServerUtil.qm.dox.h:546
 
string http_mask_data(string msg)
this function can be used to mask data in log messages
 
hash< Util::UriQueryInfo > parse_uri_query(string path)
parses a URI path for a arguments and a method
 
const HttpServerString
default HTTP server string
Definition: HttpServerUtil.qm.dox.h:153
 
hash providing HTTP handler configuration info
Definition: HttpServerUtil.qm.dox.h:451
 
string path
the URI path for the handler
Definition: HttpServerUtil.qm.dox.h:453
 
softlist< softstring > headers
a list of headers that indicate that a request should be handled by the handler (optional)
Definition: HttpServerUtil.qm.dox.h:465
 
AbstractHttpRequestHandler handler
the handler itself (required)
Definition: HttpServerUtil.qm.dox.h:462
 
softlist< softstring > content_types
the Content-Type that the handler handles (optional)
Definition: HttpServerUtil.qm.dox.h:459
 
bool isregex
if the URI path is a regular expression pattern
Definition: HttpServerUtil.qm.dox.h:456
 
the return value of HTTP handler methods with potentially unserialized message bodies
Definition: HttpServerUtil.qm.dox.h:331
 
bool reply_sent
this key can be set to True if the reply has already been sent (by a chunked callback for example)
Definition: HttpServerUtil.qm.dox.h:351
 
*hash< auto > user_state
additional info to be added to the context (cx) variable's user_state key if the connection is not cl...
Definition: HttpServerUtil.qm.dox.h:360
 
*hash< auto > hdr
set this key to a hash of extra header information to be returned with the response
Definition: HttpServerUtil.qm.dox.h:348
 
string log
a string can be returned here which will be logged in the HTTP server's log file (if any)
Definition: HttpServerUtil.qm.dox.h:354
 
string errlog
a string can be returned here which will be logged in the HTTP server's error log file (if any)
Definition: HttpServerUtil.qm.dox.h:357
 
int code
the HTTP return code (see HttpServer::HttpCodes for possible values)
Definition: HttpServerUtil.qm.dox.h:333
 
softbool close
set this key to True if the connection should be unconditionally closed when the handler returns
Definition: HttpServerUtil.qm.dox.h:342
 
auto body
the message body to return in the response
Definition: HttpServerUtil.qm.dox.h:339
 
options for new listeners
Definition: HttpServerUtil.qm.dox.h:387
 
*string cert_loc
The X.509 certificate file location.
Definition: HttpServerUtil.qm.dox.h:400
 
*string node
the node value for the bind
Definition: HttpServerUtil.qm.dox.h:389
 
int family
network family
Definition: HttpServerUtil.qm.dox.h:428
 
bool ssl_accept_all_certs
set to False to use openssl CA validation for client certificates
Definition: HttpServerUtil.qm.dox.h:444
 
*Qore::SSLPrivateKey key
SSL key.
Definition: HttpServerUtil.qm.dox.h:416
 
*Qore::SSLCertificate cert
SSL cert.
Definition: HttpServerUtil.qm.dox.h:413
 
hash< auto > ext_info
Additional info added to the notification callback when listeners are started.
Definition: HttpServerUtil.qm.dox.h:447
 
*Logger logger
logger
Definition: HttpServerUtil.qm.dox.h:422
 
*hash< string, hash< HttpHandlerConfigInfo > > handler_info
handler info
Definition: HttpServerUtil.qm.dox.h:419
 
*string key_loc
The private key file location for the X.509 certificate.
Definition: HttpServerUtil.qm.dox.h:405
 
*string name
the name of the listener
Definition: HttpServerUtil.qm.dox.h:395
 
bool get_remote_certs
ask for remote client certificates (causes browsers to prompt for a client cert on new connections)
Definition: HttpServerUtil.qm.dox.h:434
 
*softstring service
the service value for the bind
Definition: HttpServerUtil.qm.dox.h:392
 
*string key_password
The private key password, if any.
Definition: HttpServerUtil.qm.dox.h:410
 
*code stopc
stopc stop notification closure
Definition: HttpServerUtil.qm.dox.h:425
 
int ssl_verify_flags
SSL certificate verification constants; see SSL Verification Mode Constants.
Definition: HttpServerUtil.qm.dox.h:439
 
the return value of HTTP handler methods where any message body has been serialized for sending over ...
Definition: HttpServerUtil.qm.dox.h:291
 
softbool close
set this key to True if the connection should be unconditionally closed when the handler returns
Definition: HttpServerUtil.qm.dox.h:312
 
bool reply_sent
this key can be set to True if the reply has already been sent (by a chunked callback for example)
Definition: HttpServerUtil.qm.dox.h:318
 
string log
a string can be returned here which will be logged in the HTTP server's log file (if any)
Definition: HttpServerUtil.qm.dox.h:321
 
*data body
the message body to return in the response
Definition: HttpServerUtil.qm.dox.h:301
 
int code
the HTTP return code (see HttpServer::HttpCodes for possible values)
Definition: HttpServerUtil.qm.dox.h:293
 
string errlog
a string can be returned here which will be logged in the HTTP server's error log file (if any)
Definition: HttpServerUtil.qm.dox.h:324
 
*InputStream chunked_body
the message body to return in the response as a chunked response
Definition: HttpServerUtil.qm.dox.h:309
 
*hash< auto > user_state
additional info to be added to the context (cx) variable's user_state key if the connection is not cl...
Definition: HttpServerUtil.qm.dox.h:327
 
*hash< auto > hdr
set this key to a hash of extra header information to be returned with the response
Definition: HttpServerUtil.qm.dox.h:315