[ 
https://issues.apache.org/jira/browse/SLING-1336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12842573#action_12842573
 ] 

Felix Meschberger commented on SLING-1336:
------------------------------------------

Thanks for preparing the patch. To me it basically looks good with the 
following remarks:

  * The IOException constructor on line 151 in JSONResponse has only been 
introduced in Java 6
     --> Easy fix is to to throw (IOException) new 
IOException(message).initCause(cause);

  * The MediaRangeList seems to duplicate work done in the Engine's 
RequestUtil.parseAcceptHeader method
     --> We might want to consolidate a number of request header parsing 
methods in some generic RequestUtil class ?

  * The JSONResponse class duplicates property storage in the JSONObject.
     --> Is there a reason for this ?

> 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
>            Assignee: Vidar S. Ramdal
>             Fix For: Servlets Post 2.0.6
>
>         Attachments: SLING-1336.patch
>
>
> 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