I should add that you use this only on the last route for any given path, or you'll never reach the later ones!
Mike On Dec 15, 9:13 am, "Mike Burrows (asplake)" <[email protected]> wrote: > This is a followup to an issue raised off topic in the thread "Generic > routes for API > functions"http://groups.google.com/group/pylons-discuss/browse_thread/thread/34... > . > > I said there that I didn't like that a 404 is raised if routes match > on path but not on HTTP method. I have since found a solution though, > and it's simple enough: > > from pylons.controllers.util import abort > > def method_condition(method): > # A condition function capable of generating status codes > def check_method(environ, result): > if environ and 'REQUEST_METHOD' in environ and \ > environ['REQUEST_METHOD'] not in method: > abort(405) > else: > return True > > return check_method > > Use with > conditions={'function': method_condition(method)} > on your route. I have a helper that generates either this form or the > simpler > conditions={'method': method} > form depending on the presence of a status code, but I didn't want to > obscure the solution unecessarily. > > Enjoy, > > Mike > [email protected]http://positiveincline.comhttp://twitter.com/asplake -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.
