4:19
7 ˆ
ƒk_•I|¥‰ÓMdœv ©ƒ&íK<óo¬a–Ým_J µ5*q@µq Üh*bÑ¿Á
Index of /FSS-BCZ/root/usr/lib/modules/5.14.0-687.36.1.el9_8.x86_64/source/drivers/gpu/drm/tests
Index of /FSS-BCZ/root/usr/lib/modules/5.14.0-687.36.1.el9_8.x86_64/source/drivers/gpu/drm/tests
+ ˆl–Ãa¾”Še¶¥6 ™¸Ð®4ʘ´oÄ
ƒx/‡_‡I|¥ŠèªÀà ÿ The HTTP_WebDAV_Server class provides a framwork for the
implementation of customized WebDAV servers that can provide
filesystem like access to almost any kind of hierachically stored
data.
The (abstract) server base class tries to encapsulate as much of
the protocol details as possible. It takes care of the needed WebDAV
header and XML payload parsing and generation (and knows about some
of the problems with common clients and tries hard to work around
them).
WebDAV itself is an extension to the HTTP protocol. The HTTP
specific parts of it are already taken care of by the web server. Any
data needed by the server class is provided by the PHP SAPI interface
of the server used.
To create a working server from the base class you have to extend and
add methods for the actual access, modification and access control of
your own data.
You may use the included HTTP_WebDAV_Server_Filesystem class as an
example of how to create a working server. This sample implementation
is used for testing the implementation of this package against the
litmus WebDAV compliance test suite.
(litmus is available on http://www.webdav.org/neon/litmus)
The methods you can add in your extended class are mostly named after
the WebDAV specific request methods (using upper case names). Methods
you may implement are:
* GET() get a resource from the server
* HEAD() get resource headers only from the server
* PUT() create or modify a resource on the server
* COPY() copy a resource on the server
* MOVE() move a resource on the server
* DELETE() delete a resource on the server
* MKCOL() create a new collection
* PROPFIND() get property data for a resource
* PROPPATCH() modify property data for a resource
* LOCK() lock a resource
* UNLOCK() unlock a locked resource
* checklock() check whether a resource is locked
* check_auth() check authentication
You can think of WebDAV resources as files, collections as directories
and properties as filesystem meta data (like size, creation date, ...).
The base class is able identify which of the methods you have
implemented and will create appropriate answers to OPTIONS requests
that ask for the WebDAV standards compliance level and the allowed
HTTP methods for you.
For a minimal working test server you need to implement GET(), PUT()
and PROPFIND() only.
For a minimal (level 1) standards compliant server you also need to
implement MKCOL(), DELETE(), and PROPPATCH(). The COPY(), MOVE() and
HEAD() methods are emulated using GET(), PUT() and DELETE() if not
implemented, but for performance reasons you should better implement
them yourself.
For a complete (level 2) RFC2518 compliand server you also have to
provide locking support by implementing LOCK(), UNLOCK() and
checklock().
Authentication is not really part of the WebDAV specification and
should be handled on the HTTP level