Qore xml Module  1.8.0
WebDavHandler::WebDavHandlerProxy Class Reference

Proxy WebDavHandler inteface class. More...

Inheritance diagram for WebDavHandler::WebDavHandlerProxy:
WebDavHandler::AbstractWebDavHandler

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.
 

Detailed Description

Proxy WebDavHandler inteface class.

Member Function Documentation

◆ constructor() [1/3]

WebDavHandler::WebDavHandlerProxy::constructor ( hash< string, AbstractWebDavHandler interfaces)

Creates the object with an empty logger and an in-memory property handler.

Parameters
interfacesthe WebDAV handlers to proxy

◆ constructor() [2/3]

WebDavHandler::WebDavHandlerProxy::constructor ( hash< string, AbstractWebDavHandler interfaces,
Logger  logger,
string  virtual_relative_path_base = "/" 
)

Creates the object with the given arguments.

Parameters
interfacesthe WebDAV handlers to proxy
loggerthe logger
virtual_relative_path_basethe virtual base path for WebDavHandler requests; this path will be stripped from requests internally when serving WebDavHandler resources

◆ constructor() [3/3]

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.

Parameters
interfacesthe WebDAV handlers to proxy
virtual_relative_path_basethe virtual base path for WebDavHandler requests; this path will be stripped from requests internally when serving WebDavHandler resources

◆ handleCopy()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleCopy ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

COPY

Copy a resource from one URI to another.

◆ handleDelete()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleDelete ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

DELETE

Delete a resource.

◆ handleGet()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleGet ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

GET

Get a resource.

◆ handleHead()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleHead ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

HEAD

Same like GET but without sending a body.

◆ handleLock()

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.

◆ handleMkcol()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleMkcol ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

MKCOL

Create collections (aka a directory).

◆ handleMove()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleMove ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

MOVE

Move a resource from one URI to another.

◆ handlePost()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handlePost ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

POST

Create new resource.

◆ handlePropfind()

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.

◆ handleProppatch()

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.

◆ handlePut()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handlePut ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

PUT

Modify resource.

◆ handleUnlock()

hash<HttpResponseInfo> WebDavHandler::WebDavHandlerProxy::handleUnlock ( Socket  sock,
hash< auto >  cx,
hash< auto >  hdr,
*data  body 
)

UNLOCK

Remove a lock from a resource.


The documentation for this class was generated from the following file: