THRIFT-2299 TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings
Patch: Jens Geyer
diff --git a/lib/rb/lib/thrift/protocol/json_protocol.rb b/lib/rb/lib/thrift/protocol/json_protocol.rb
index 2e85089..9f0069d 100644
--- a/lib/rb/lib/thrift/protocol/json_protocol.rb
+++ b/lib/rb/lib/thrift/protocol/json_protocol.rb
@@ -507,13 +507,13 @@
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