/** * Called when the client has sent a Request. * * @param request The Request object that the client has sent */ public void onRequest(Request request) { if (initialRequest == null) { boolean fullRequest = (request instanceof FullRequest); initialRequest = new MessageMetaState(request, fullRequest); } else { // log that the client is attempting to pipeline if (clientTriedPipeline == false) { // only log an error once log.error( "Client attempted to send Request before response finished (HTTP Pipelining): {}", request); clientTriedPipeline = true; } else { log.debug("Client attempted to send another pipelined request: {}", request); } } }
void onInboundRequest(Request request) { MessageMetaState initialRequest = streamIdRequests.get(request.streamId()); if (initialRequest == null) { if (request.startOfMessage()) { streamIdRequests.put( request.streamId(), new MessageMetaState(request, request.endOfMessage())); } else { log.error( "Received an h2 message segment without initial startOfMessage == true - request: {}", request); } } else { initialRequest.requestFinished = request.endOfMessage(); } }
Response onInboundResponse(Response response) { MessageMetaState initialRequest = streamIdRequests.get(response.streamId()); if (initialRequest == null) { if (response.startOfMessage()) { streamIdRequests.put( response.streamId(), new MessageMetaState(response, response.endOfMessage())); } else { log.error( "Received an h2 message segment without initial startOfMessage == true - response: {}", response); } } else { initialRequest.responseFinished = response.endOfMessage(); } return response; }