Qore HttpServerUtil Module Reference  0.3.12
HttpServer Namespace Reference

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  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...
 
struct  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...
 
struct  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

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 cx, reference rv, *string server_string)
 helper function for setting HTTP response headers
 
hash< Util::UriQueryInfoparse_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.3.11.1"
 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 ReadTimeout = DefaultTimeout
 read timeout in ms
 

Detailed Description

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

Function Documentation

◆ http_get_url_from_bind()

string HttpServer::http_get_url_from_bind ( softstring  bind,
*string  host 
)

returns a complete URL from a bind address

Parameters
bindthe bind address; if for any reason there is a path in the bind address, it will be ignored
hostthe 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

◆ http_mask_data()

string HttpServer::http_mask_data ( string  msg)

this function can be used to mask data in log messages

Example:
string msg = http_mask_data(msg);
Parameters
msga log message with potentially sensitive data; expected to be a string of serialized data
Returns
a string with sensitive data removed; currently the function removes 'pass', 'password', 'sensitive', and 'sensitive_data'' followed by a colon, optionally whitespace, and a quoted string

◆ parse_uri_query()

hash<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

Parameters
paththe URI path to parse
Returns
a Util::UriQueryInfo hash
Since
  • 0.3.11 the params key value is always returned as a hash
  • 0.3.12 the actual implementation is in Util::parse_uri_query()
Note
provided by Util::parse_uri_query()