Adding again to my own email... Puneet Kishor wrote:
Adding to my own email...
Puneet Kishor wrote:
I am fairly certain I saw mention of this in the docs, but I can't find it now, so here goes --
The route `get '/all'` is invoked from the browser by going to http://application/foo/all. This causes a template to be rendered with all the "chrome" of the application, the buttons, the forms, the logos, bylines, etc. The crap that Edward Tufte refers to as "administrivia." This template is appropriately filled with data from a query for "all" foo widgets from the data store.
Well, I also want `get '/all'` to callable from the command line. So, if the user types
$ curl http://application/foo/all
a json stream of all the foo widgets is returned.
How do I accomplish the above? That is, have a single route called `get '/all'` and yet be able to call it either from a browser or from a command line but with different "stuff" returned? Seems like the ajax plugin is not the solution? or is it? I can't make out from its documentation.
I guess what I want is to determine where the request is coming from, perhaps via the headers. If it is an XHR then send only the json stream, otherwise, send back the template.
Nope, that is not what I want. What I want is to send back the template only if being request via a browser as a regular, non-Ajax request (how should I determine that?). Otherwise, if it is being called via Ajax or from the command line via curl or lwp or whatever, a json stream should be returned. -- Puneet Kishor