add serialization check (#14312)
This commit is contained in:
parent
5d5d0365b5
commit
e4fa369b29
|
|
@ -24,7 +24,9 @@ import org.apache.dubbo.remoting.http12.exception.DecodeException;
|
|||
import org.apache.dubbo.remoting.http12.exception.EncodeException;
|
||||
import org.apache.dubbo.remoting.http12.message.HttpMessageCodec;
|
||||
import org.apache.dubbo.remoting.http12.message.MediaType;
|
||||
import org.apache.dubbo.remoting.transport.CodecSupport;
|
||||
import org.apache.dubbo.rpc.model.FrameworkModel;
|
||||
import org.apache.dubbo.rpc.protocol.tri.TripleConstant;
|
||||
import org.apache.dubbo.rpc.protocol.tri.TripleCustomerProtocolWapper;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
|
@ -112,6 +114,8 @@ public class WrapperHttpMessageCodec implements HttpMessageCodec {
|
|||
}
|
||||
TripleCustomerProtocolWapper.TripleRequestWrapper wrapper =
|
||||
TripleCustomerProtocolWapper.TripleRequestWrapper.parseFrom(bos.toByteArray());
|
||||
final String serializeType = convertHessianFromWrapper(wrapper.getSerializeType());
|
||||
CodecSupport.checkSerialization(serializeType, url);
|
||||
setSerializeType(wrapper.getSerializeType());
|
||||
Object[] ret = new Object[wrapper.getArgs().size()];
|
||||
for (int i = 0; i < wrapper.getArgs().size(); i++) {
|
||||
|
|
@ -140,4 +144,11 @@ public class WrapperHttpMessageCodec implements HttpMessageCodec {
|
|||
outputStream.write(((length >> 8) & 0xFF));
|
||||
outputStream.write((length & 0xFF));
|
||||
}
|
||||
|
||||
private static String convertHessianFromWrapper(String serializeType) {
|
||||
if (TripleConstant.HESSIAN4.equals(serializeType)) {
|
||||
return TripleConstant.HESSIAN2;
|
||||
}
|
||||
return serializeType;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue