Qore xml Module
1.8.0
|
Proxy WebDavHandler inteface class. More...
Public Member Methods | |
constructor (hash< string, AbstractWebDavHandler > interfaces) | |
Creates the object with an empty logger and an in-memory property handler. More... | |
constructor (hash< string, AbstractWebDavHandler > interfaces, string virtual_relative_path_base) | |
Creates the object with the given argument and an in-memory property handler. More... | |
constructor (hash< string, AbstractWebDavHandler > interfaces, Logger logger, string virtual_relative_path_base="/") | |
Creates the object with the given arguments. More... | |
hash< HttpResponseInfo > | handleGet (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleHead (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handlePost (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handlePut (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleDelete (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleCopy (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleMove (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleLock (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleUnlock (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleMkcol (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handlePropfind (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
hash< HttpResponseInfo > | handleProppatch (Socket sock, hash< auto > cx, hash< auto > hdr, *data body) |
Public Member Methods inherited from WebDavHandler::AbstractWebDavHandler | |
constructor (*AbstractAuthenticator auth) | |
Creates the object with an empty logger and an in-memory property handler. More... | |
constructor (*AbstractAuthenticator auth, string virtual_relative_path_base) | |
Creates the object with the given argument and an in-memory property handler. More... | |
constructor (*AbstractAuthenticator auth, AbstractWebDavPropertyHandler property_handler, string virtual_relative_path_base='/') | |
Creates the object with the given arguments. More... | |
constructor (*AbstractAuthenticator auth, Logger logger, AbstractWebDavPropertyHandler property_handler=new InMemoryWebDavPropertyHandler(), string virtual_relative_path_base='/') | |
Creates the object with the given arguments. More... | |
list< string > | getHttpMethods () |
Returnd a list of WebDavHandler methods. | |
setLogger (Logger logger) | |
Replace the logger. | |
hash< HttpResponseInfo > | handleRequest (HttpListenerInterface listener, Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP/WebDavHandler requests and returns the response. | |
string | getRelativePath (string raw_path) |
Returns a relative path from an absolute path. More... | |
hash< HttpResponseInfo > | response (int response_code=200, data msg='OK') |
Returns a hash that can be used as an HTTP response with the given HTTP response code and response message. | |
hash< HttpResponseInfo > | response (int response_code=200, hash< auto > hdr) |
Returns a hash that can be used as an HTTP response with the given HTTP response code and response headers. | |
hash< HttpResponseInfo > | resp400 (data msg='Bad Request') |
Returns a hash that can be used as an HTTP response with a 400 response code and response message. | |
hash< HttpResponseInfo > | resp404 () |
Returns a hash that can be used as an HTTP response with a 404 response code and response message. | |
hash< HttpResponseInfo > | resp500 (data msg='General Server Error') |
Returns a hash that can be used as an HTTP response with a 500 response code and response message. | |
hash< HttpResponseInfo > | resp501 () |
Returns a hash that can be used as an HTTP response with a 501 response code and response message. | |
private | init (Logger logger, AbstractWebDavPropertyHandler property_handler, string virtual_relative_path_base="/") |
Common constructor code. | |
private hash< auto > | preparePropFindXmlResponse (string local_path, string href, bool is_collection, hash< auto > base_props, bool all_props=False, *hash< string, hash< string, bool >> additional_props) |
Returns a hash that can be serialized to an XML string for a PROPFIND request. | |
hash< HttpResponseInfo > | handleOptions (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles a WebDavHandler OPTIONS request. More... | |
hash< HttpResponseInfo > | handleGet (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP GET requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleHead (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP HEAD requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handlePost (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP POST requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handlePut (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP PUT requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleDelete (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP DELETE requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleCopy (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler COPY requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleMove (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler MOVE requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleLock (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler LOCK requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleUnlock (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler UNLOCK requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleMkcol (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler MKCOL requests for WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handlePropfind (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler PROPFIND requests for WebDavHandler resources; reetrieves properties from WebDavHandler resources. More... | |
hash< HttpResponseInfo > | handleProppatch (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler PROPPATCH requests for WebDavHandler resources; sets or removes properties on WebDavHandler resources. More... | |
logInfo (string fmt) | |
This method is called with informational log messages. | |
logError (string fmt) | |
This method is called with error log messages. | |
logDebug (string fmt) | |
This method is called with debug log messages. | |
abstract private *hash< string, hash< string, hash< string, bool > > > | handleProppatchImpl (reference< string > href, hash< auto > cx, hash< auto > hdr, *hash< auto > request_xml, *list< hash< PropPatchActionInfo >> actions) |
Internal method for handling PROPPATCH requests. More... | |
Additional Inherited Members | |
Static Public Member Methods inherited from WebDavHandler::AbstractWebDavHandler | |
static | combineValue (reference< auto > h, auto v) |
Combines values recursively. | |
Public Attributes inherited from WebDavHandler::AbstractWebDavHandler | |
const | RequestMethods |
A hash of all supported WebDavHandler methods mapped to method names. | |
const | DestMethods |
A hash of methods that require a Destination header. | |
const | AllowHeaderValue = RequestMethods.keys().join(",") |
List of WebDavHandler methods in a string suitable for use in HTTP responses. | |
const | MethodList = keys RequestMethods |
List of WebDavHandler methods. | |
const | PPA_Remove = "R" |
PROPPATCH action: remove. | |
const | PPA_Set = "S" |
PROPPATCH action: set. | |
Private Member Methods inherited from WebDavHandler::AbstractWebDavHandler | |
string | getRealPath (string raw_path) |
Converts a request path to a normalized real path on the filesystem in the root WebDavHandler directory. More... | |
*hash< HttpResponseInfo > | checkAuth (string method, hash< auto > cx, hash< auto > hdr, *data body) |
Checks if the request is authorized; if not, this method must return a value. More... | |
copyProperties (string source_url, string target_url) | |
Copies all properties from the given source URL to the target URL. | |
moveProperties (string source_url, string target_url) | |
Moves all properties from the given source URL to the target URL. | |
deleteProperties (string source_url) | |
Deletes all properties from the given URL. | |
string | getStatusMessage (softstring http_code) |
Returns a status message for the given HTTP response code. More... | |
hash< auto > | getXml (string body) |
Parse incoming XML and handle namespaces. | |
hash< HttpResponseInfo > | handleOptionsImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles an HTTP/WebDavHandler OPTIONS request. More... | |
abstract hash< HttpResponseInfo > | handleGetImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP GET requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleHeadImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP HEAD requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handlePostImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP POST requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handlePutImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP PUT requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleDeleteImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles HTTP DELETE requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleCopyImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler COPY requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleMoveImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler MOVE requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleLockImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler LOCK requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleUnlockImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler UNLOCK requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handleMkcolImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler MKCOL requests for WebDavHandler resources. More... | |
abstract hash< HttpResponseInfo > | handlePropfindImpl (Socket s, hash< auto > cx, hash< auto > hdr, *data body) |
Handles WebDavHandler PROPFIND requests for WebDavHandler resources; reetrieves properties from WebDavHandler resources. More... | |
Private Attributes inherited from WebDavHandler::AbstractWebDavHandler | |
AbstractWebDavPropertyHandler | property_handler |
The property handler object. | |
string | virtual_base_path |
The virtual base path for resources served by the WebDavHandler handler. | |
Logger | logger |
The Logger for this object. | |
Proxy WebDavHandler inteface class.
WebDavHandler::WebDavHandlerProxy::constructor | ( | hash< string, AbstractWebDavHandler > | interfaces | ) |
Creates the object with an empty logger and an in-memory property handler.
interfaces | the WebDAV handlers to proxy |
WebDavHandler::WebDavHandlerProxy::constructor | ( | hash< string, AbstractWebDavHandler > | interfaces, |
Logger | logger, | ||
string | virtual_relative_path_base = "/" |
||
) |
Creates the object with the given arguments.
interfaces | the WebDAV handlers to proxy |
logger | the logger |
virtual_relative_path_base | the virtual base path for WebDavHandler requests; this path will be stripped from requests internally when serving WebDavHandler resources |
WebDavHandler::WebDavHandlerProxy::constructor | ( | hash< string, AbstractWebDavHandler > | interfaces, |
string | virtual_relative_path_base | ||
) |
Creates the object with the given argument and an in-memory property handler.
interfaces | the WebDAV handlers to proxy |
virtual_relative_path_base | the virtual base path for WebDavHandler requests; this path will be stripped from requests internally when serving WebDavHandler resources |
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleCopy | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
COPY
Copy a resource from one URI to another.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleDelete | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
DELETE
Delete a resource.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleGet | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
GET
Get a resource.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleHead | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
HEAD
Same like GET but without sending a body.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleLock | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
LOCK
Put a lock on a resource. WebDavHandler supports both shared and exclusive locks.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleMkcol | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
MKCOL
Create collections (aka a directory).
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleMove | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
MOVE
Move a resource from one URI to another.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handlePost | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
POST
Create new resource.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handlePropfind | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
PROPFIND
Retrieve properties, stored as XML, from a web resource. It is also overloaded to allow one to retrieve the collection structure (also known as directory hierarchy) of a remote system.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleProppatch | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
PROPPATCH
Change and delete multiple properties on a resource in a single atomic act.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handlePut | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
PUT
Modify resource.
hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleUnlock | ( | Socket | sock, |
hash< auto > | cx, | ||
hash< auto > | hdr, | ||
*data | body | ||
) |
UNLOCK
Remove a lock from a resource.