[
https://issues.apache.org/jira/browse/SLING-1974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12992929#comment-12992929
]
Felix Meschberger commented on SLING-1974:
------------------------------------------
Thanks for the link.
I crosschecked the implementation: It internally uses a TreeSet to manage the
quality tagged types. Provided q values are equal for two entries in the Accept
header, they are ordered by their MIME type causing application/json to be
order before text/html.
I think this is wrong and should be changed to order by their location in the
header.
While browser might not place specific preference on entries with the same q
value (and the spec fails to clarify), I think it is more natural to use the
declaration order in the header than it is to use string ordering.
> Accept header issues in the Sling POST Servlet
> ----------------------------------------------
>
> Key: SLING-1974
> URL: https://issues.apache.org/jira/browse/SLING-1974
> Project: Sling
> Issue Type: Bug
> Components: Servlets
> Affects Versions: Servlets Post 2.1.0
> Reporter: Felix Meschberger
> Fix For: Servlets Post 2.1.2
>
>
> As of SLING-1336 the Sling POST Servlet can interpret the Accept request
> header to select what response content type to render.
> Unfortunately that handling seems broken as for an Accept header like (as
> generated by FireFox with the JSONovich plugin installed) :
> Accept:
> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json
> the JSON response might be selected but sometimes also text/html (we can
> observe both behaviours for different server platforms with our application).
> The Accept header should probably consider equivalent q values (as for
> text/html and application/json in the example) to solve the tie by selecting
> the first type list; thus text/html in this example.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira