/** * Create (or allocate) and return a Response object suitable for * receiving the contents of a Response from the responsible Container. * * @return a new Servlet response object */ public Response createResponse() { if (protocolHandler instanceof AbstractAjpProtocol<?>) { int packetSize = ((AbstractAjpProtocol<?>) protocolHandler).getPacketSize(); return new Response(packetSize - org.apache.coyote.ajp.Constants.SEND_HEAD_LEN); } else { return new Response(); } }
/** * Create (or allocate) and return a Response object suitable for * receiving the contents of a Response from the responsible Container. * * @return a new Servlet response object */ public Response createResponse() { if (protocolHandler instanceof AbstractAjpProtocol<?>) { int packetSize = ((AbstractAjpProtocol<?>) protocolHandler).getPacketSize(); return new Response(packetSize - org.apache.coyote.ajp.Constants.SEND_HEAD_LEN); } else { return new Response(); } }
public AjpProcessor(AbstractAjpProtocol<?> protocol, Adapter adapter) { super(adapter); this.protocol = protocol; int packetSize = protocol.getPacketSize(); // Calculate maximum chunk size as packetSize may have been changed from // the default (Constants.MAX_PACKET_SIZE) this.outputMaxChunkSize = packetSize - Constants.SEND_HEAD_LEN; request.setInputBuffer(new SocketInputBuffer()); requestHeaderMessage = new AjpMessage(packetSize); responseMessage = new AjpMessage(packetSize); bodyMessage = new AjpMessage(packetSize); // Set the getBody message buffer AjpMessage getBodyMessage = new AjpMessage(16); getBodyMessage.reset(); getBodyMessage.appendByte(Constants.JK_AJP13_GET_BODY_CHUNK); // Adjust read size if packetSize != default (Constants.MAX_PACKET_SIZE) getBodyMessage.appendInt(Constants.MAX_READ_SIZE + packetSize - Constants.MAX_PACKET_SIZE); getBodyMessage.end(); getBodyMessageArray = new byte[getBodyMessage.getLen()]; System.arraycopy(getBodyMessage.getBuffer(), 0, getBodyMessageArray, 0, getBodyMessage.getLen()); response.setOutputBuffer(new SocketOutputBuffer()); }