public class HttpRpcProtocol extends AbstractProtocol
| 构造器和说明 |
|---|
HttpRpcProtocol(int protocolType,
String encoding) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addHttpHeaders(io.netty.handler.codec.http.HttpHeaders headers,
io.netty.handler.codec.http.FullHttpRequest fullHttpRequest) |
protected String |
buildHttpUri(String serviceName,
String methodName) |
protected Object |
decodeBody(int protocolType,
String encoding,
byte[] bytes) |
void |
decodeHttpRequest(io.netty.handler.codec.http.FullHttpRequest httpRequest,
RpcRequest rpcRequest)
根据http request生成rpc request
|
RpcResponse |
decodeHttpResponse(io.netty.handler.codec.http.FullHttpResponse httpResponse,
io.netty.channel.ChannelHandlerContext ctx)
根据http response构建rpc response
|
protected byte[] |
encodeBody(int protocolType,
String encoding,
Object body,
RpcMethodInfo rpcMethodInfo) |
io.netty.handler.codec.http.FullHttpRequest |
encodeHttpRequest(RpcRequest rpcRequest)
根据rpc request构建http request
|
io.netty.handler.codec.http.FullHttpResponse |
encodeHttpResponse(RpcRequest rpcRequest,
RpcResponse rpcResponse)
根据rpc response生成http response
|
static String |
getContentType(Integer protocolType) |
protected Object |
makeRequest(int id,
String methodName,
Object[] args) |
protected Object |
parseHttpResponse(Object body,
RpcMethodInfo rpcMethodInfo) |
protected long |
parseLogId(String headerLogId,
Long channelAttachLogId) |
static int |
parseProtocolType(String contentType) |
protected Object[] |
parseRequestParam(Object body,
RpcMethodInfo rpcMethodInfo) |
boolean |
returnChannelBeforeResponse()
连接被归还入池的时机
|
decode, decodeRequest, decodeResponse, encodeRequest, encodeResponsepublic HttpRpcProtocol(int protocolType,
String encoding)
public io.netty.handler.codec.http.FullHttpRequest encodeHttpRequest(RpcRequest rpcRequest) throws Exception
ProtocolencodeHttpRequest 在接口中 ProtocolencodeHttpRequest 在类中 AbstractProtocolExceptionpublic RpcResponse decodeHttpResponse(io.netty.handler.codec.http.FullHttpResponse httpResponse, io.netty.channel.ChannelHandlerContext ctx)
ProtocoldecodeHttpResponse 在接口中 ProtocoldecodeHttpResponse 在类中 AbstractProtocolpublic void decodeHttpRequest(io.netty.handler.codec.http.FullHttpRequest httpRequest,
RpcRequest rpcRequest)
ProtocoldecodeHttpRequest 在接口中 ProtocoldecodeHttpRequest 在类中 AbstractProtocolpublic io.netty.handler.codec.http.FullHttpResponse encodeHttpResponse(RpcRequest rpcRequest, RpcResponse rpcResponse)
ProtocolencodeHttpResponse 在接口中 ProtocolencodeHttpResponse 在类中 AbstractProtocolpublic boolean returnChannelBeforeResponse()
ProtocolreturnChannelBeforeResponse 在接口中 ProtocolreturnChannelBeforeResponse 在类中 AbstractProtocolpublic static int parseProtocolType(String contentType)
protected byte[] encodeBody(int protocolType,
String encoding,
Object body,
RpcMethodInfo rpcMethodInfo)
protected void addHttpHeaders(io.netty.handler.codec.http.HttpHeaders headers,
io.netty.handler.codec.http.FullHttpRequest fullHttpRequest)
protected Object parseHttpResponse(Object body, RpcMethodInfo rpcMethodInfo)
protected Object[] parseRequestParam(Object body, RpcMethodInfo rpcMethodInfo)
Copyright © 2018 Baidu, Inc.. All rights reserved.