/** * Set the socket buffer flag. */ public void setSocketBuffer(int socketBuffer) { this.socketBuffer = socketBuffer; outputBuffer.setSocketBuffer(socketBuffer); }
/** * End request. * * @throws IOException an undelying I/O error occured */ @Override public void endRequest() throws IOException { super.endRequest(); flushBuffer(); }
/** * 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); } }
OutputFilter[] outputFilters = outputBuffer.getFilters(); outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); return; outputBuffer.addActiveFilter (outputFilters[Constants.VOID_FILTER]); entityBody = false; outputBuffer.addActiveFilter (outputFilters[Constants.VOID_FILTER]); contentDelimitation = true; if (contentLength != -1) { headers.setValue("Content-Length").setLong(contentLength); outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); contentDelimitation = true; } else { if (entityBody && http11 && (keepAlive || CHUNK_ON_CLOSE)) { outputBuffer.addActiveFilter (outputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; headers.addValue(Constants.TRANSFERENCODING).setString(Constants.CHUNKED); } else { outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]);
outputBuffer.commit(); } catch (IOException ex) { SelectorThread.logger().log(Level.FINEST, && (expectMB.indexOfIgnoreCase("100-continue", 0) != -1)) { try { outputBuffer.sendAck(); } catch (IOException e) { outputBuffer.endRequest(); } catch (IOException e) { SelectorThread.logger().log(Level.FINEST, outputBuffer.reset();
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); }
outputBuffer.setOutputStream(socket.getOutputStream()); outputBuffer.endRequest(); } catch (IOException e) { error = true; outputBuffer.nextRequest(); outputBuffer.recycle(); this.socket = null;
outputBuffer.setOutputStream(socket.getOutputStream()); outputBuffer.nextRequest(); if (error) { inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle(); return SocketState.CLOSED;
outputBuffer.endRequest(); } catch (IOException e) { error = true; outputBuffer.nextRequest();
outputBuffer.nextRequest(); recycle(); return SocketState.CLOSED; endRequest(); boolean pipelined = inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle(); return (pipelined) ? SocketState.CLOSED : SocketState.OPEN;
/** * 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 */ @Override 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); outputBuffer.setOutputStream(output); configPreProcess(); }
/** * Flush the buffered bytes, */ @Override public void flush() throws IOException{ super.flush(); flushBuffer(); }
OutputFilter[] outputFilters = outputBuffer.getFilters(); outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); return; outputBuffer.addActiveFilter (outputFilters[Constants.VOID_FILTER]); entityBody = false; outputBuffer.addActiveFilter (outputFilters[Constants.VOID_FILTER]); contentDelimitation = true; if (contentLength != -1) { headers.setValue("Content-Length").setInt(contentLength); outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); contentDelimitation = true; } else { if (entityBody && http11 && keepAlive) { outputBuffer.addActiveFilter (outputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; response.addHeader("Transfer-Encoding", "chunked"); } else { outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]);
outputBuffer.commit(); } catch (IOException e) { outputBuffer.sendAck(); } catch (IOException e) { outputBuffer.flush(); } catch (IOException e) { outputBuffer.endRequest(); } catch (IOException e) { outputBuffer.reset();
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); }
outputBuffer.setOutputStream(socket.getOutputStream()); outputBuffer.nextRequest(); if (error) { inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle(); return SocketState.CLOSED;
outputBuffer.nextRequest(); recycle(); return SocketState.CLOSED; endRequest(); boolean pipelined = inputBuffer.nextRequest(); outputBuffer.nextRequest(); recycle(); return (pipelined || !keepAlive) ? SocketState.CLOSED : SocketState.OPEN;
OutputFilter[] outputFilters = outputBuffer.getFilters(); outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); return; outputBuffer.addActiveFilter (outputFilters[Constants.VOID_FILTER]); entityBody = false; outputBuffer.addActiveFilter (outputFilters[Constants.VOID_FILTER]); contentDelimitation = true; outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); contentDelimitation = true; } else { if (entityBody && http11 && (keepAlive || CHUNK_ON_CLOSE)) { outputBuffer.addActiveFilter (outputFilters[Constants.CHUNKED_FILTER]); contentDelimitation = true; headers.addValue(Constants.TRANSFERENCODING).setString(Constants.CHUNKED); } else { outputBuffer.addActiveFilter (outputFilters[Constants.IDENTITY_FILTER]); outputBuffer.addActiveFilter(outputFilters[Constants.GZIP_FILTER]); headers.setValue("Content-Encoding").setString("gzip");
outputBuffer.commit(); } catch (IOException e) { outputBuffer.sendAck(); } catch (IOException e) { outputBuffer.flush(); } catch (IOException e) { outputBuffer.endRequest(); } catch (IOException e) {
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); }