diff --git a/docs/web.rst b/docs/web.rst index 0e4987a9..c9697247 100644 --- a/docs/web.rst +++ b/docs/web.rst @@ -25,11 +25,21 @@ These methods can be made asynchronous with one of the following decorators: `.gen.coroutine`, `.return_future`, or `asynchronous`. + To support a method not on this list, override the class variable + ``SUPPORTED_METHODS``:: + + class WebDAVHandler(RequestHandler): + SUPPORTED_METHODS = RequestHandler.SUPPORTED_METHODS + ('PROPFIND',) + + def propfind(self): + pass + .. automethod:: RequestHandler.get - .. automethod:: RequestHandler.post - .. automethod:: RequestHandler.put - .. automethod:: RequestHandler.delete .. automethod:: RequestHandler.head + .. automethod:: RequestHandler.post + .. automethod:: RequestHandler.delete + .. automethod:: RequestHandler.patch + .. automethod:: RequestHandler.put .. automethod:: RequestHandler.options Input diff --git a/tornado/web.py b/tornado/web.py index 9bc12933..0a50f793 100644 --- a/tornado/web.py +++ b/tornado/web.py @@ -144,12 +144,12 @@ May be overridden by passing a ``min_version`` keyword argument. .. versionadded:: 3.2.1 """ -class RequestHandler(object): - """Subclass this class and define `get()` or `post()` to make a handler. - If you want to support more methods than the standard GET/HEAD/POST, you - should override the class variable ``SUPPORTED_METHODS`` in your - `RequestHandler` subclass. +class RequestHandler(object): + """Base class for HTTP request handlers. + + Subclasses must define at least one of the methods defined in the + "Entry points" section below. """ SUPPORTED_METHODS = ("GET", "HEAD", "POST", "DELETE", "PATCH", "PUT", "OPTIONS")