[ 
https://issues.apache.org/jira/browse/THRIFT-3250?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15874983#comment-15874983
 ] 

James E. King, III commented on THRIFT-3250:
--------------------------------------------

I tried implemented the suggested way in the description however protocols 
consume transports, and in perl THttpClient is a TTransport.  If the media type 
is in the TProtocol then it isn't available in the transport's code to access.  
It might make more sense to require another argument to Http client 
implementations in each language and have the consuming application tell it 
what media type to use for "Accept".  Similarly, it probably makes sense to 
allow the consuming application specify the "User-Agent" and perhaps also the 
"Content-Type" so that a newer client can be constructed to work with an older 
server.  My suggestion above allows an older client to connect to a newer 
server.

> Apache Thrift should use registered media types with HTTP
> ---------------------------------------------------------
>
>                 Key: THRIFT-3250
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3250
>             Project: Thrift
>          Issue Type: Improvement
>          Components: .NETCore - Library, AS3 - Library, C# - Library, C++ - 
> Library, Cocoa - Library, D - Library, Dart - Library, Delphi - Library, 
> Erlang - Library, Go - Library, Haskell - Library, Haxe - Library, Java - 
> Library, JavaME - Library, JavaScript - Library, Node.js - Library, Perl - 
> Library, PHP - Library, Python - Library, Ruby - Library
>    Affects Versions: 0.9.3
>         Environment: all
>            Reporter: Randy Abernethy
>            Assignee: Randy Abernethy
>            Priority: Minor
>
> Now that we have registered media types:
> - application/vnd.apache.thrift.binary
> - application/vnd.apache.thrift.compact
> - application/vnd.apache.thrift.json
> We should use them exclusively, replacing the old x-thrift. I suggest 
> TProtocol gain a getMediaType() method which returns the correct media type 
> when invoked on a concrete protocol (e.g. TBinaryProtocol.getMediaType() 
> would return "application/vnd.apache.thrift.binary".
> HTTP oriented code can then invoke the getMediaType() method of the protocol 
> to discover the correct media type to set in HTTP headers. 
> Thoughts?



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to