protected byte[] getBody() { return _request.getBody(); }
/** * Returns the header with the specified name. If no such header exists, will return null. **/ protected String getHeader( String name ) { return _request.getHeader( name ); }
ReceivedHttpMessage( InputStream inputStream ) throws IOException { interpretMessageHeader( readHeaderLine( inputStream ) ); readHeaders( inputStream ); readMessageBody( inputStream ); }
private void readMessageBody( InputStream inputStream ) throws IOException { if ("chunked".equalsIgnoreCase( getHeader( "Transfer-Encoding" ) )) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); while (getNextChunkLength( inputStream ) > 0) { baos.write( readDelimitedChunk( inputStream ) ); } flushChunkTrailer( inputStream ); _requestBody = baos.toByteArray(); } else { int totalExpected = getContentLength(); ByteArrayOutputStream baos = new ByteArrayOutputStream( totalExpected ); byte[] buffer = new byte[1024]; int total = 0; int count = -1; while ((total < totalExpected) && ((count = inputStream.read( buffer )) != -1)) { baos.write( buffer, 0, count ); total += count; } baos.flush(); _requestBody = baos.toByteArray(); } _reader = new InputStreamReader( new ByteArrayInputStream( _requestBody ) ); }
public String toString() { StringBuffer sb = new StringBuffer( getClassName() ).append( "[ " ); appendMessageHeader( sb ); sb.append( "\n" ); for (Enumeration e = _headers.keys(); e.hasMoreElements();) { Object key = e.nextElement(); sb.append( " " ).append( key ).append( ": " ).append( _headers.get( key ) ).append( "\n" ); } sb.append( " body contains " ).append( getBody().length ).append( " byte(s)]" ); return sb.toString(); }
private int getNextChunkLength( InputStream inputStream ) throws IOException { try { return Integer.parseInt( readHeaderLine( inputStream ), 16 ); } catch (NumberFormatException e) { throw new IOException( "Unabled to read chunk length: " + e ); } }
private void flushChunkTrailer( InputStream inputStream ) throws IOException { byte[] line; do { line = readDelimitedChunk( inputStream ); } while (line.length > 0); }
private void readMessageBody( InputStream inputStream ) throws IOException { if ("chunked".equalsIgnoreCase( getHeader( "Transfer-Encoding" ) )) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); while (getNextChunkLength( inputStream ) > 0) { baos.write( readDelimitedChunk( inputStream ) ); } flushChunkTrailer( inputStream ); _requestBody = baos.toByteArray(); } else { int totalExpected = getContentLength(); ByteArrayOutputStream baos = new ByteArrayOutputStream( totalExpected ); byte[] buffer = new byte[1024]; int total = 0; int count = -1; while ((total < totalExpected) && ((count = inputStream.read( buffer )) != -1)) { baos.write( buffer, 0, count ); total += count; } baos.flush(); _requestBody = baos.toByteArray(); } _reader = new InputStreamReader( new ByteArrayInputStream( _requestBody ) ); }
public String toString() { StringBuffer sb = new StringBuffer( getClassName() ).append( "[ " ); appendMessageHeader( sb ); sb.append( "\n" ); for (Enumeration e = _headers.keys(); e.hasMoreElements();) { Object key = e.nextElement(); sb.append( " " ).append( key ).append( ": " ).append( _headers.get( key ) ).append( "\n" ); } sb.append( " body contains " ).append( getBody().length ).append( " byte(s)]" ); return sb.toString(); }
private int getNextChunkLength( InputStream inputStream ) throws IOException { try { return Integer.parseInt( readHeaderLine( inputStream ), 16 ); } catch (NumberFormatException e) { throw new IOException( "Unabled to read chunk length: " + e ); } }
private void flushChunkTrailer( InputStream inputStream ) throws IOException { byte[] line; do { line = readDelimitedChunk( inputStream ); } while (line.length > 0); }
private void readMessageBody( InputStream inputStream ) throws IOException { if ("chunked".equalsIgnoreCase( getHeader( "Transfer-Encoding" ) )) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); while (getNextChunkLength( inputStream ) > 0) { baos.write( readDelimitedChunk( inputStream ) ); } flushChunkTrailer( inputStream ); _requestBody = baos.toByteArray(); } else { int totalExpected = getContentLength(); ByteArrayOutputStream baos = new ByteArrayOutputStream( totalExpected ); byte[] buffer = new byte[1024]; int total = 0; int count = -1; while ((total < totalExpected) && ((count = inputStream.read( buffer )) != -1)) { baos.write( buffer, 0, count ); total += count; } baos.flush(); _requestBody = baos.toByteArray(); } _reader = new InputStreamReader( new ByteArrayInputStream( _requestBody ) ); }
ReceivedHttpMessage( InputStream inputStream ) throws IOException { interpretMessageHeader( readHeaderLine( inputStream ) ); readHeaders( inputStream ); readMessageBody( inputStream ); }
public String toString() { StringBuffer sb = new StringBuffer( getClassName() ).append( "[ " ); appendMessageHeader( sb ); sb.append( "\n" ); for (Enumeration e = _headers.keys(); e.hasMoreElements();) { Object key = e.nextElement(); sb.append( " " ).append( key ).append( ": " ).append( _headers.get( key ) ).append( "\n" ); } sb.append( " body contains " ).append( getBody().length ).append( " byte(s)]" ); return sb.toString(); }
private int getNextChunkLength( InputStream inputStream ) throws IOException { try { return Integer.parseInt( readHeaderLine( inputStream ), 16 ); } catch (NumberFormatException e) { throw new IOException( "Unabled to read chunk length: " + e ); } }
private void flushChunkTrailer( InputStream inputStream ) throws IOException { byte[] line; do { line = readDelimitedChunk( inputStream ); } while (line.length > 0); }
void appendContents( StringBuffer sb ) { for (Enumeration e = _headers.keys(); e.hasMoreElements();) { Object key = e.nextElement(); sb.append( " " ).append( key ).append( ": " ).append( _headers.get( key ) ).append( "\n" ); } sb.append( " body contains " ).append( getBody().length ).append( " byte(s)" ); }
private String getConnectionHeader() { return getHeader( "Connection" ); }
ReceivedHttpMessage( InputStream inputStream ) throws IOException { interpretMessageHeader( readHeaderLine( inputStream ) ); readHeaders( inputStream ); readMessageBody( inputStream ); }
private void readHeaders( InputStream inputStream ) throws IOException { String lastHeader = null; String header = readHeaderLine( inputStream ); while (header.length() > 0) { if (header.charAt(0) <= ' ') { if (lastHeader == null) continue; _headers.put( lastHeader, _headers.get( lastHeader ) + header.trim() ); } else { lastHeader = header.substring( 0, header.indexOf(':') ).toUpperCase(); _headers.put( lastHeader, header.substring( header.indexOf(':')+1 ).trim() ); } header = readHeaderLine( inputStream ); } }