[
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.