Package core :: Module http :: Class RouteMatcher |
[hide private]
[frames] | no frames]

# Class RouteMatcher

source code

    object --+
             |
            RouteMatcher

This class allows you to do route requests based on the HTTP verb and the request URI, in a manner similar to <a href="http://www.sinatrarb.com/">Sinatra</a> or <a href="http://expressjs.com/">Express</a>.

RouteMatcher also lets you extract paramaters from the request URI either a simple pattern or using regular expressions for more complex matches. Any parameters extracted will be added to the requests parameters which will be available to you in your request handler.

It's particularly useful when writing REST-ful web applications.

To use a simple pattern to extract parameters simply prefix the parameter name in the pattern with a ':' (colon).

Different handlers can be specified for each of the HTTP verbs, GET, POST, PUT, DELETE etc.

For more complex matches regular expressions can be used in the pattern. When regular expressions are used, the extracted parameters do not have a name, so they are put into the HTTP request with names of param0, param1, param2 etc.

Multiple matches can be specified for each HTTP verb. In the case there are more than one matching patterns for a particular request, the first matching one will be used.

Instance Methods | [hide private]
__init__(self) | source code
__call__(self, data) | source code
input(self, request) This method is called to provide the matcher with data. | source code
get(self, pattern, handler) Specify a handler that will be called for a matching HTTP GET | source code
put(self, pattern, handler) Specify a handler that will be called for a matching HTTP PUT | source code
post(self, pattern, handler) Specify a handler that will be called for a matching HTTP POST | source code
delete(self, pattern, handler) Specify a handler that will be called for a matching HTTP DELETE | source code
options(self, pattern, handler) Specify a handler that will be called for a matching HTTP OPTIONS | source code
head(self, pattern, handler) Specify a handler that will be called for a matching HTTP HEAD | source code
trace(self, pattern, handler) Specify a handler that will be called for a matching HTTP TRACE | source code
patch(self, pattern, handler) Specify a handler that will be called for a matching HTTP PATCH | source code
connect(self, pattern, handler) Specify a handler that will be called for a matching HTTP CONNECT | source code
all(self, pattern, handler) Specify a handler that will be called for any matching HTTP request | source code
get_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP GET | source code
put_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP PUT | source code
post_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP POST | source code
delete_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP DELETE | source code
options_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP OPTIONS | source code
head_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP HEAD | source code
trace_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP TRACE | source code
patch_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP PATCH | source code
connect_re(self, pattern, handler) Specify a handler that will be called for a matching HTTP CONNECT | source code
all_re(self, pattern, handler) Specify a handler that will be called for any matching HTTP request | source code
no_match(self, handler) Specify a handler that will be called when nothing matches Default behaviour is to return a 404 | source code

Method Details | [hide private]

### __init__(self) (Constructor) | source code
Overrides: object.__init__ (inherited documentation)

### input(self, request) | source code
This method is called to provide the matcher with data. Keyword arguments: Parameters: `request` - input request to the parser.

### get(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP GET Keyword arguments: Parameters: `pattern` - pattern to match `handler` - handler for match

### put(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP PUT Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### post(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP POST Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### delete(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP DELETE Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### options(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP OPTIONS Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### head(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP HEAD Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### trace(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP TRACE Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### patch(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP PATCH Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### connect(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP CONNECT Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### all(self, pattern, handler) | source code
Specify a handler that will be called for any matching HTTP request Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### get_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP GET Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### put_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP PUT Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### post_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP POST Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### delete_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP DELETE Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### options_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP OPTIONS Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### head_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP HEAD Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### trace_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP TRACE Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### patch_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP PATCH Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### connect_re(self, pattern, handler) | source code
Specify a handler that will be called for a matching HTTP CONNECT Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### all_re(self, pattern, handler) | source code
Specify a handler that will be called for any matching HTTP request Keyword arguments: Parameters: `pattern` - pattern to match `handler` - http server request handler

### no_match(self, handler) | source code
Specify a handler that will be called when nothing matches Default behaviour is to return a 404 Keyword arguments: Parameters: `handler` - http server request handler