[
https://issues.apache.org/jira/browse/WINK-107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryant Luk updated WINK-107:
----------------------------
Attachment: WINK-107.patch
Attaching an initial patch. Will need to clean this up some more but please
feel free to review.
> Need to agree on what Request.selectVariant() should do
> -------------------------------------------------------
>
> Key: WINK-107
> URL: https://issues.apache.org/jira/browse/WINK-107
> Project: Wink
> Issue Type: Bug
> Components: Server
> Affects Versions: 0.1
> Reporter: Bryant Luk
> Assignee: Bryant Luk
> Attachments: WINK-107.patch
>
>
> I would like to discuss what Request.selectVariant() is suppose to do and use
> this issue as a fix if necessary. Originally, the IBM implementation of
> Request.selectVariant() was implemented very similar to the way that Wink
> currently has now. However, I later changed the implementation to be "a big
> mess".
> For the current implementation in SVN, I don't understand why you would
> iterate over the List<Variant> when you could just easily create the Request
> version of the variant (Content-Type, Content-Language, etc.) by doing new
> Variant() and using the HttpHeaders interface to fill in the constructor
> parameters.
> A better use of selectVariant() is to choose the best possible response
> Variant IMO. Also, the method is suppose to modify the Vary header after
> being called according to JavaDoc and when I look at the Vary header in
> specs, it always mentions adding the Accept* headers.
> Basically, I tried implementing a selectVariant() method that would choose
> the best variant based on the incoming request's Accept* headers (given a
> list of possible *response* variants), A somewhat simple use case in my
> variation is that you have a @Produces("*/*") on the method and your output
> can be in XML, plain text with either English or Spanish in the response
> content (so 4 variants would be built and passed into selectVariants). The
> incoming request prefers Spanish and plain text as designated by the
> Accept-Language and Accept header respectively.
> After selectVariant() is called, the application developer can then call
> Variant.getMediaType() to find out which media type is preferred to send back
> and more importantly language and encoding.
> I tried looking at Apache CXF but they return null. Also, discussed this
> with Mike before he left and I think that's why he got all confused with
> Accept* headers. :)
> In short, I was wondering what the use case was for Request.selectVariant()
> would be, and if necessary change this implementation since this would affect
> application code before 0.1 goes out.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.