Michael Peters wrote:
Being explicit is good, as one could imagine situations where the default mapping might not make good sense. I'm just curious, but assuming most of this is going to be used with a browser, how is one making PUT and DELETE requests, since it seems that many browsers either do not support these two methods or do not implement them the same way? One way I have seen is to have a fallback to POST with a hidden field of name "_method" and value either "PUT" or "DELETE" to simulate the behavior. What do people envision is happening on the client end?Timothy Appnel wrote:On 1/2/07, Jaldhar H. Vyas <suppressed> wrote:I like the way Catalyst::Action::REST implements its REST functionality personally.You mean with attributes?No, through method naming conventions such as... entry_POST entry_GET entry_PUT ...where entry is the defined runmode. If a runmode_HTTPMETHOD doesn't exist the dispatcher automatically returns a method is not supported HTTP status method.I've been thinking a bit on how to do this. It should be trivial to implement in Dispatch, but I want to run the syntax by everyone. First off, I would like to allow users to be explicit or just use convention. So you could have a rule like this: '/app/:module/:rm' => { auto_rest => 1 } And it would append the HTTP method name (lowercased?) to the run mode. So '/app/module/entry' would become Module->entry_get Module->entry_post Module->entry_delete Module->entry_put And if a method is attempted for which there is no run mode, then it would be the normal rm-not-found thing. Next, I'd like to allow users to be explicit in HTTP method mapping: '/app/:module/stuff[get]' => { rm => 'get_stuff' }
Thanks,
Sean
---------------------------------------------------------------------
Web Archive: http://www.mail-archive.com/suppressed/
http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: suppressed
For additional commands, e-mail: suppressed
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.