com.jd.blockchain.sdk.converters.BinarySerializeRequestConverter Maven / Gradle / Ivy
/**
* Copyright: Copyright 2016-2020 JD.COM All Right Reserved
* FileName: com.jd.blockchain.sdk.converters.BinarySerializeRequestConverter
* Author: shaozhuguang
* Department: Y事业部
* Date: 2018/9/5 下午5:09
* Description: 序列化请求体
*/
package com.jd.blockchain.sdk.converters;
import com.jd.blockchain.binaryproto.BinaryEncodingUtils;
import com.jd.blockchain.consensus.ClientIdentifications;
import com.jd.blockchain.ledger.TransactionRequest;
import com.jd.blockchain.ledger.data.TxRequestMessage;
import com.jd.blockchain.utils.http.RequestBodyConverter;
import java.io.IOException;
import java.io.OutputStream;
/**
* 序列化请求体
* @author shaozhuguang
* @create 2018/9/5
* @since 1.0.0
*/
public class BinarySerializeRequestConverter implements RequestBodyConverter {
public static final String CONTENT_TYPE_VALUE = "application/bin-obj";
@Override
public void write(Object param, OutputStream out) throws IOException {
// 使用自定义的序列化方式
if (param instanceof TransactionRequest) {
byte[] serializeBytes = BinaryEncodingUtils.encode(param, TransactionRequest.class);
out.write(serializeBytes);
out.flush();
} else if (param instanceof ClientIdentifications) {
byte[] serializeBytes = BinaryEncodingUtils.encode(param, ClientIdentifications.class);
out.write(serializeBytes);
out.flush();
}
}
} © 2015 - 2025 Weber Informatics LLC | Privacy Policy