Qore HttpServerUtil Module Reference
0.9.11
|
the main namespace for the HttpServer and HttpServerUtil modules More...
Classes | |
class | AbstractAuthenticator |
abstract base class for external authentication More... | |
class | AbstractHttpRequestHandler |
abstract class that all HTTP request handler objects must inherit from More... | |
class | AbstractHttpSocketHandler |
abstract class that all HTTP dedicated socket handler objects must inherit from More... | |
class | AbstractHttpSocketHandlerInterface |
Abstract class for HTTP handlers for handling protocol switching. More... | |
class | AbstractLogger |
this abstract class defines the interface for classes that provide logging methods More... | |
class | AbstractStreamRequest |
abstract class for streaming HTTP chunked requests/responses More... | |
class | AbstractUrlHandler |
abstract class for HTTP request handlers anchored at a specific URL More... | |
hashdecl | HttpHandlerConfigInfo |
hash providing HTTP handler configuration info More... | |
hashdecl | HttpHandlerResponseInfo |
the return value of HTTP handler methods with potentially unserialized message bodies More... | |
class | HttpListenerInterface |
this abstract class defines the public interface of the private HttpListener class defined in the HttpServer module More... | |
hashdecl | HttpListenerOptionInfo |
options for new listeners More... | |
hashdecl | HttpResponseInfo |
the return value of HTTP handler methods where any message body has been serialized for sending over the HTTP socket More... | |
class | PermissiveAuthenticator |
class providing automatic authentication for all requests More... | |
Functions | |
hash< HttpListenerOptionInfo > | http_get_listener_options (*string node, *softstring service, *string cert_path, *string key_path, *string key_password) |
returns a listener option info hash from flat arguments More... | |
hash< HttpListenerOptionInfo > | http_get_listener_options_from_bind (*softstring bind, *string cert_path, *string key_path, *string key_password) |
returns a listener option info hash from flat arguments More... | |
hash< HttpListenerOptionInfo > | http_get_listener_options_from_bind (*softstring bind, hash< auto > listener_params, hash< HttpListenerOptionInfo > opts=< HttpListenerOptionInfo >{}) |
returns a listener option info hash from flat arguments More... | |
hash< HttpCertInfo > | http_get_ssl_objects (hash< auto > listener_params) |
converts a hash to HTTP certificate info if possible More... | |
hash< HttpCertInfo > | http_get_ssl_objects (string cert_path, *string key_path, *string pwd) |
converts a hash to HTTP certificate info if possible More... | |
string | http_get_url_from_bind (softstring bind, *string host) |
returns a complete URL from a bind address More... | |
string | http_mask_data (string msg) |
this function can be used to mask data in log messages More... | |
nothing | http_set_reply_headers (Socket s, hash< auto > cx, reference< auto > rv, *string server_string) |
helper function for setting HTTP response headers | |
hash< Util::UriQueryInfo > | parse_uri_query (string path) |
parses a URI path for a arguments and a method; where the method is the part of the path before the first "?" character, and arguments are after More... | |
Variables | |
const | DefaultTimeout = 30s |
default timeout in ms | |
const | HttpCodes = ... |
map of HTTP result codes and text messages | |
const | HttpServerString = sprintf("Qore-HTTP-Server/%s", HttpServerVersion) |
default HTTP server string | |
const | HttpServerVersion = "0.9.11" |
version of the HttpServer's implementation | |
const | LP_LEVELMASK = LP_LOGPARAMS - 1 |
mask for the log level | |
const | LP_LOGPARAMS = 1 << 16 |
bit for logging argument | |
const | MaxSslFileLen = 1024 * 1024 |
maximum X.509 and private key file length More... | |
const | ReadTimeout = DefaultTimeout |
read timeout in ms | |
the main namespace for the HttpServer and HttpServerUtil modules
To use this module, use "%requires HttpServerUtil"
in your code.
All the public symbols in the module are defined in this namespace
hash<HttpListenerOptionInfo> HttpServer::http_get_listener_options | ( | *string | node, |
*softstring | service, | ||
*string | cert_path, | ||
*string | key_path, | ||
*string | key_password | ||
) |
returns a listener option info hash from flat arguments
node | the node name or address (at least one of either node or service must be provided to make a bind) |
service | the service port (at least one of either node or service must be provided to make a bind) |
cert_path | the path to an X.509 certificate |
key_path | the path to the certificate's private key |
key_password | the password to the private key, if any |
hash<HttpListenerOptionInfo> HttpServer::http_get_listener_options_from_bind | ( | *softstring | bind, |
*string | cert_path, | ||
*string | key_path, | ||
*string | key_password | ||
) |
returns a listener option info hash from flat arguments
bind | a bind address as host:port or just port or a filepath for a UNIX domain socket |
cert_path | the path to an X.509 certificate |
key_path | the path to the certificate's private key |
key_password | the password to the private key, if any |
hash<HttpListenerOptionInfo> HttpServer::http_get_listener_options_from_bind | ( | *softstring | bind, |
hash< auto > | listener_params, | ||
hash< HttpListenerOptionInfo > | opts = < HttpListenerOptionInfo >{} |
||
) |
returns a listener option info hash from flat arguments
bind | a bind address as host:port or just port or a filepath for a UNIX domain socket |
listener_params | parameters for the listener; processed by http_get_ssl_objects() |
opts | listener options |
converts a hash to HTTP certificate info if possible
listener_params | can have the following keys:
|
hash<HttpCertInfo> HttpServer::http_get_ssl_objects | ( | string | cert_path, |
*string | key_path, | ||
*string | pwd | ||
) |
converts a hash to HTTP certificate info if possible
cert_path | the path to an X.509 certificate file |
key_path | the path to a private key file; if not present, then the certificate is assumed to also have the private key in it |
pwd | the password to the private key file |
returns a complete URL from a bind address
bind | the bind address; if for any reason there is a path in the bind address, it will be ignored |
host | the hostname to use in case the bind string is only a port number; if none is passed or the value passed is equal to the return value of Qore::gethostname(), then "localhost" is used |
this function can be used to mask data in log messages
msg | a log message with potentially sensitive data; expected to be a string of serialized data |
'pass'
, 'password'
, 'sensitive'
, and 'sensitive_data''
followed by a colon, an equals sign, and optionally whitespacehash<Util::UriQueryInfo> HttpServer::parse_uri_query | ( | string | path | ) |
parses a URI path for a arguments and a method; where the method is the part of the path before the first "?"
character, and arguments are after
path | the URI path to parse |
const HttpServer::MaxSslFileLen = 1024 * 1024 |
maximum X.509 and private key file length
there is no real maximum size for these files, however an upper limit is used here to ensure that huge files are not used for the SSL cert and key files which could cause a crash or memory problems; currently set to 1M which is orders of magnitude higher than any real files currently in existence