On Fri, 2011-01-21 at 12:30 -0800, Mike Orr wrote:
> On Fri, Jan 21, 2011 at 12:15 PM, Chris McDonough <chr...@plope.com> wrote:
> > On Fri, 2011-01-21 at 12:13 -0800, Daniel Holth wrote:
> >> I always setup two view functions, one for GET and one for POST.
> >>
> >> I don't do PUT, but if you want Pyramid lets you condition a view on
> >> both the request method and parameters. The second function should
> >> only be called for a PUT, or a POST with _method=PUT in the
> >> parameters:
> >>
> >> def some_method(request):
> >>    # handle everything else
> >>
> >> def some_method_PUT(request):
> >>     # handle the PUT
> >>
> >> ...
> >>
> >> config.add_view(some_method)
> >> config.add_view(some_method_PUT, request_method='PUT')
> >> config.add_view(some_method_PUT, request_method='POST',
> >> request_param="_method=PUT")
> >
> > True, I guess we handle it already by default, so unless there's some
> > usage pattern I don't understand (likely), we don't really need to argue
> > about supporting it or not.
> 
> We at least need to document it as a FAQ, and mention it in the
> routing section and view section.

It could and probably should be a cookbook entry.

> This syntax does make the routes less straightforward (they show the
> low-level details rather than the high-level intention). If the
> application is expecting both tunneled PUT and direct PUT, it will
> have to accomodate both possibilities. And views will also have to
> handle tunneled PUT themselves because it won't be converted.
> (Although that could be done in the view handler .__init__, but that's
> kind of a band-aid approach because it covers only the views and not
> the routes.)

What is the distinction you're trying to make between "PUT" and
"tunneled PUT"?  Are you saying that a view should return something
different to a browser client than to a non-browser client based on
whether the _method param exists?

- C


-- 
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To post to this group, send email to pylons-devel@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-devel?hl=en.

Reply via email to