This patch adds the appropriate test for the behavior and fixes the thrift_native project to do the right thing.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760735
13f79535-47bb-0310-9956-
ffa450edef68
rb_exc_raise(get_protocol_exception(INT2FIX(BAD_VERSION), rb_str_new2("No version identifier, old protocol client?")));
}
name = READ(self, version);
- type = rb_thrift_binary_proto_read_byte(self);
+ type = read_byte_direct(self);
seqid = rb_thrift_binary_proto_read_i32(self);
}
@prot.read_message_begin().should == ['testMessage', Thrift::MessageTypes::CALL, 17]
end
+ it "should read the message header without version when writes are not strict" do
+ @prot = protocol_class.new(@trans, false, true) # no strict write
+ @trans.write("\000\000\000\vtestMessage\001\000\000\000\021")
+ @prot.read_message_begin().should == ['testMessage', Thrift::MessageTypes::CALL, 17]
+ end
+
# message footer is a noop
it "should read a field header" do