if leaf: |
if leaf: |
return self.invoke_method() |
return self.invoke_method() |
url += '/' # add the trailing / |
url += '/' # add the trailing / |
|
|
|
if self.environ.get('QUERY_STRING'): |
|
url += '?' + self.environ['QUERY_STRING'] |
return self.redirect(url) |
return self.redirect(url) |
|
|
def handle_child(self, name): |
def handle_child(self, name): |
|
|
|
|
|
|
|
|
|
|
|
|
def invoke_method(self): |
def invoke_method(self): |
rm = self.environ['REQUEST_METHOD'] |
rm = self.environ['REQUEST_METHOD'] |
if rm=='HEAD' or rm in self.http_methods: |
if rm=='HEAD' or rm in self.http_methods: |
if self.form_handlers: |
if self.form_handlers: |
methods.add('POST') |
methods.add('POST') |
|
|
return self.METHOD_NOT_ALLOWED([('Allow', ', '.join(methods))]) |
return self.METHOD_NOT_ALLOWED([('Allow', ', '.join(sorted(methods)))]) |
|
|
METHOD_NOT_ALLOWED = Text( |
METHOD_NOT_ALLOWED = Text( |
"Excellent method!\n" |
"Excellent method!\n" |