this class is used to customize and control the behavior of the Qorus HTTP server as it redirects URLs to Qorus services providing HTTP-based REST services
More...
|
| constructor (string path, bool isregex=False, HttpServer::AbstractAuthenticator auth=new DefaultQorusRBACAuthenticator(), *RestSchemaValidator::AbstractRestSchemaValidator validator) |
| creates the object with the given arguments More...
|
|
| constructor (string path, HttpServer::AbstractAuthenticator auth=new DefaultQorusRBACAuthenticator(), *RestSchemaValidator::AbstractRestSchemaValidator validator) |
| creates the object with the given arguments More...
|
|
hash< HttpResponseInfo > | handleRequest (HttpListenerInterface listener, Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
| this method ensures that thread-local data is set properly
|
|
| removeRootPath (reference path) |
| removes the root path from the URL
|
|
Public Member Methods inherited from OMQ::AbstractServiceHttpHandler |
OMQ::ThreadLocalData | otld () |
| thread-local data to add before calling handleRequest()
|
|
| constructor (string n_path, *softlist< auto > n_content_type, *softlist< auto > n_special_headers, HttpServer::AbstractAuthenticator n_auth=new DefaultQorusRBACAuthenticator(), bool n_isregex=True) |
| creates the object with the given arguments More...
|
|
hash< auto > | getServiceInfo () |
| returns a hash with info about the linked service
|
|
| addListener (hash< HttpServer::HttpListenerOptionInfo > opt) |
| adds a listener from a bind string in the format: "address:port" (ex: "192.168.20.1:8011" ) More...
|
|
| addListener (softstring bind, hash< HttpServer::HttpListenerOptionInfo > opt) |
| adds a listener from a bind string in the format: "address:port" (ex: "192.168.20.1:8011" ) More...
|
|
| addListener (softstring bind, *string cert_path, *string key_path, *string key_password, *hash< HttpServer::HttpListenerOptionInfo > opt) |
| adds a listener from a bind string in the format: "address:port" (ex: "192.168.20.1:8011" ) More...
|
|
| addListener (softstring bind, *Qore::SSLCertificate cert, *Qore::SSLPrivateKey key, *hash< HttpServer::HttpListenerOptionInfo > opt) |
| adds a listener from a bind string in the format: "address:port" (ex: "192.168.20.1:8011" ) More...
|
|
| addListeners (softlist< auto > l) |
| adds a list of listeners; each element should be either a bind string in the format: "address:port" (ex: "192.168.20.1:8011" ) or an integer port, meaning to bind on all interfaces on that port More...
|
|
final *hash< auto > | saveThreadLocalData () |
| called before handleRequest() any data returned here will be given to restoreThreadLocalData() after the handleRequest() call
|
|
final | restoreThreadLocalData (*hash< auto > data) |
| called after handleRequest() with any data returned from saveThreadLocalData()
|
|
| log (int ll, string fmt) |
| logs to the service log file
|
|
| setUserIndexInfo (string heading, string title, string url) |
| sets heading and title for user HTTP services
|
|
| clearUserIndexInfo () |
| clears heading and title into for user HTTP services More...
|
|
hash< HttpResponseInfo > | handleRequest (HttpListenerInterface listener, Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
| this method ensures that thread-local data is set properly
|
|
hash< auto > | handleRequest (hash< auto > cx, hash< auto > hdr, *data body) |
| this method calls handleRequestImpl() to service the request, if handleRequestImpl() returns NOTHING, then it tries to automatically serve service file resources or serve the default resource if no resource can be matched More...
|
|
string | getRequestPath (string hpath) |
| returns the request path with the common leading part of the URL stripped off and also any URI query argument stripped off
|
|
*hash< auto > | handleRequestImpl (reference< hash< auto >> cx, hash< auto > hdr, *data body) |
| this method is called by this class's handleRequest() before trying to service the request automatically based on service file resources More...
|
|
| setDefaultResource (string name) |
| sets the default service file resource to be rendered when the request is not matched to a resource and handleRequestImpl() does not return a response
|
|
private AbstractStreamRequest | getStreamRequestImpl (HttpListenerInterface listener, Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
| returns the AbstractStreamRequest object for handling chunked requests
|
|
private AbstractServiceStream | getServiceStreamRequestImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
| returns the AbstractStreamRequest object for handling chunked requests
|
|
this class is used to customize and control the behavior of the Qorus HTTP server as it redirects URLs to Qorus services providing HTTP-based REST services
If any listeners are added to the AbstractServiceRestHandler object, then the URL set in the object is only bound to the new listeners specified in this object. Otherwise, the URL is bound to all listeners in the system HTTP server.