/** * Add an input filter to the current request. * * @return false if the encoding was not found (which would mean it is * unsupported) */ protected boolean addInputFilter(InputFilter[] inputFilters, String encodingName) { if (encodingName.equals("identity")) { // Skip } else if (encodingName.equals("chunked")) { inputBuffer.addActiveFilter (inputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; } else { for (int i = pluggableFilterIndex; i < inputFilters.length; i++) { if (inputFilters[i].getEncodingName() .toString().equals(encodingName)) { inputBuffer.addActiveFilter(inputFilters[i]); return true; } } return false; } return true; }
/** * Fill the internal buffer using data from the underlying input stream. * * @return false if at end of stream */ protected boolean fill() throws IOException { return fill(true); }
/** * Parse the HTTP headers. */ public void parseHeaders() throws IOException { while (parseHeader()) { } parsingHeader = false; end = pos; }
return; inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); InputFilter[] inputFilters = inputBuffer.getFilters(); ((BufferedInputFilter) inputFilters[Constants.BUFFERED_FILTER]).setLimit(maxSavePostSize); inputBuffer.addActiveFilter(inputFilters[Constants.BUFFERED_FILTER]); internalBuffer.addActiveFilter(savedBody); } else if (actionCode == ActionCode.ACTION_EVENT_BEGIN) { event = true;
inputBuffer.setInputStream(socket.getInputStream()); outputBuffer.setOutputStream(socket.getOutputStream()); inputBuffer.parseRequestLine(); request.setStartTime(System.currentTimeMillis()); keptAlive = true; socket.setSoTimeout(timeout); inputBuffer.parseHeaders(); } catch (IOException e) { error = true; inputBuffer.setSwallowInput(false); inputBuffer.nextRequest(); outputBuffer.nextRequest(); inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle();
inputBuffer.setInputStream(socket.getInputStream()); outputBuffer.setOutputStream(socket.getOutputStream()); inputBuffer.parseRequestLine(); request.setStartTime(System.currentTimeMillis()); keptAlive = true; socket.setSoTimeout(timeout); inputBuffer.parseHeaders(); } catch (IOException e) { error = true; inputBuffer.setSwallowInput(false); inputBuffer.endRequest(); } catch (IOException e) { error = true; inputBuffer.nextRequest(); outputBuffer.nextRequest(); inputBuffer.recycle(); outputBuffer.recycle(); this.socket = null;
InputFilter[] inputFilters = inputBuffer.getFilters(); ((BufferedInputFilter) inputFilters[Constants.BUFFERED_FILTER]) .setLimit(maxPostSize); inputBuffer.addActiveFilter (inputFilters[Constants.BUFFERED_FILTER]); try {
public Http11Processor(int headerBufferSize, JIoEndpoint endpoint, int maxTrailerSize, int maxExtensionSize) { super(endpoint); inputBuffer = new InternalInputBuffer(request, headerBufferSize); request.setInputBuffer(inputBuffer); outputBuffer = new InternalOutputBuffer(response, headerBufferSize); response.setOutputBuffer(outputBuffer); initializeFilters(maxTrailerSize, maxExtensionSize); }
if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); skipLine(start); return true; if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); if (!fill()) throw new EOFException(sm.getString("iib.eof.error"));
return; inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); BufferedInputFilter buffredInputFilter = new BufferedInputFilter(); buffredInputFilter.setLimit(maxSavePostSize); inputBuffer.addActiveFilter(buffredInputFilter); internalBuffer.addActiveFilter(savedBody); } else if (actionCode == ActionCode.ACTION_EVENT_BEGIN) { event = true;
inputBuffer.endRequest(); } catch (IOException e) { error = true; inputBuffer.nextRequest(); outputBuffer.nextRequest();
inputBuffer.parseRequestLine(); if (isMonitoringEnabled()) { request.getRequestProcessor().setRequestCompletionTime(0); inputBuffer.parseHeaders();
/** * Add input or output filter. * * @param className class name of the filter */ protected void addFilter(String className) { try { Class<?> clazz = Class.forName(className); Object obj = clazz.newInstance(); if (obj instanceof InputFilter) { inputBuffer.addFilter((InputFilter) obj); } else if (obj instanceof OutputFilter) { outputBuffer.addFilter((OutputFilter) obj); } else { log.warn(sm.getString("http11processor.filter.unknown", className)); } } catch (Exception e) { log.error(sm.getString("http11processor.filter.error", className), e); } }
/** * Pre process the request by decoding the request line and the header. * @param input the InputStream to read bytes * @param output the OutputStream to write bytes */ public void preProcess(InputStream input, OutputStream output) throws Exception { // Make sure this object has been initialized. if ( !started ){ initialize(); } // Setting up the I/O inputBuffer.setInputStream(input); if ( key != null ) { SocketChannelOutputBuffer channelOutputBuffer = ((SocketChannelOutputBuffer)outputBuffer); channelOutputBuffer.setChannel((SocketChannel)key.channel()); } configPreProcess(); }
inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle(); } else if (!event) { endRequest(); boolean pipelined = inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle();
return; inputBuffer.setSwallowInput(true); try { outputBuffer.sendAck(); InputFilter[] inputFilters = inputBuffer.getFilters(); ((BufferedInputFilter) inputFilters[Constants.BUFFERED_FILTER]) .setLimit(maxSavePostSize); inputBuffer.addActiveFilter (inputFilters[Constants.BUFFERED_FILTER]); try { internalBuffer.addActiveFilter(savedBody);
inputBuffer.setInputStream(socket.getInputStream()); outputBuffer.setOutputStream(socket.getOutputStream()); inputBuffer.parseRequestLine(); request.setStartTime(System.currentTimeMillis()); keptAlive = true; socket.setSoTimeout(soTimeout); inputBuffer.parseHeaders(); } catch (IOException e) { error = true; inputBuffer.setSwallowInput(false); inputBuffer.nextRequest(); outputBuffer.nextRequest(); inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle();
InputFilter[] inputFilters = inputBuffer.getFilters(); ((BufferedInputFilter) inputFilters[Constants.BUFFERED_FILTER]) .setLimit(maxSavePostSize); inputBuffer.addActiveFilter (inputFilters[Constants.BUFFERED_FILTER]); try {
public Http11Processor(int headerBufferSize, JIoEndpoint endpoint, int maxTrailerSize) { super(endpoint); inputBuffer = new InternalInputBuffer(request, headerBufferSize); request.setInputBuffer(inputBuffer); outputBuffer = new InternalOutputBuffer(response, headerBufferSize); response.setOutputBuffer(outputBuffer); initializeFilters(maxTrailerSize); }
if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); skipLine(start); return true; if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); if (!fill()) throw new EOFException(sm.getString("iib.eof.error")); if (!fill()) throw new EOFException(sm.getString("iib.eof.error"));