Let SlingPostServlet return JSON
--------------------------------

                 Key: SLING-1336
                 URL: https://issues.apache.org/jira/browse/SLING-1336
             Project: Sling
          Issue Type: New Feature
          Components: Servlets
    Affects Versions: Servlets Post 2.0.4
            Reporter: Vidar S. Ramdal
             Fix For: Servlets Post 2.0.6


>From http://markmail.org/thread/ic2752rha4iy2s2c

In many scenarios it would be nice to get JSON in response to a POST. You could 
write your own post servlet to do that, but then you will not benefit from the 
registered SlingPostOperations and SlingPostProcessors that are executed by the 
default SlingPostServlet.

In the case of SlingPostOperation, an implementing class is passed a 
HtmlResponse object when run(). The HtmlResponse object is pretty agnostic to 
response format though, the only HTML related work is in the send() method. 
Thus, it should be possible ot replace/extend/abstract HtmlResponse with a more 
generic response object. The send() functionality is then moved to 
SlingPostServlet, which determines which format to return based on these 
criteria (in order):
1. The Accept HTTP header - if set to "application/json" return JSON, otherwise 
return HTML
2. Possibly also an :accept form field, with the same meaning as the HTTP 
header, in case it is proven that setting the HTTP header does not work in all 
browsers
3. The format of the posted data - if JSON is posted (see SLING-1172), return 
JSON, otherwise return HTML

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to