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

Hudson commented on THRIFT-3364:
--------------------------------

SUCCESS: Integrated in Thrift #1675 (See 
[https://builds.apache.org/job/Thrift/1675/])
THRIFT-3364 Fix ruby binary field encoding in TJSONProtocol Client: Ruby 
(jensg: rev 123258ba60facd8581d868c71a543487b2acff3c)
* lib/rb/spec/binary_protocol_spec_shared.rb
* test/rb/integration/TestClient.rb
* test/rb/Gemfile
* lib/rb/spec/compact_protocol_spec.rb
* lib/rb/lib/thrift/processor.rb
* test/known_failures_Linux.json
* test/DebugProtoTest.thrift
* lib/rb/spec/json_protocol_spec.rb
* lib/rb/lib/thrift/protocol/json_protocol.rb
* test/rb/integration/TestServer.rb
* lib/rb/spec/spec_helper.rb


>   Fix ruby binary field encoding in TJSONProtocol
> -------------------------------------------------
>
>                 Key: THRIFT-3364
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3364
>             Project: Thrift
>          Issue Type: Sub-task
>          Components: Ruby - Library
>    Affects Versions: 0.9.3
>            Reporter: Nobuaki Sukegawa
>            Assignee: Jens Geyer
>             Fix For: 1.0
>
>
> Ruby JSON protocol uses pack('m') method to encode Base64 string.
> It seems that it inserts a "\n" character every 60 characters.
> You can refer to these pages for this behavior.
> http://stackoverflow.com/questions/2620975/strange-n-in-base64-encoded-string-in-ruby
> http://ruby-doc.org/stdlib-2.2.3/libdoc/base64/rdoc/Base64.html
> {quote}
> Line feeds are added to every 60 encoded characters.
> {quote}
> This has been making it impossible to send long binary field data to other 
> languages.
> I fixed this by using alternative encode method that is added in Ruby 1.9 
> (which should be OK).
> After the fix, I had to add Ruby namespace to DebugProtoTest.thrift to avoid 
> name collision of "Base64" symbols that is used for new encode method and 
> also as DebugProtoTest message name.
> I also removed extraneous double quote in encoded binary fields that resulted 
> in invalid JSON.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to