THRIFT-2299 TJsonProtocol implementation for Ruby does not allow for both possible...
authorJens Geyer <jensg@apache.org>
Thu, 26 Dec 2013 17:55:33 +0000 (18:55 +0100)
committerJens Geyer <jensg@apache.org>
Thu, 26 Dec 2013 18:01:20 +0000 (19:01 +0100)
Patch: Jens Geyer

lib/rb/lib/thrift/protocol/json_protocol.rb

index 2e85089..9f0069d 100644 (file)
@@ -507,13 +507,13 @@ module Thrift
     def read_json_string(skipContext = false)
       # This string's characters must match up with the elements in escape_char_vals.
       # I don't have '/' on this list even though it appears on www.json.org --
-      # it is not in the RFC
-      escape_chars = "\"\\bfnrt"
+      # it is not in the RFC -> it is. See RFC 4627
+      escape_chars = "\"\\/bfnrt"
 
       # The elements of this array must match up with the sequence of characters in
       # escape_chars
       escape_char_vals = [
-        '"', '\\', '\b', '\f', '\n', '\r', '\t',
+        '"', '\\', '/', '\b', '\f', '\n', '\r', '\t',
       ]
 
       if !skipContext