Top Description Inners Fields Constructors Methods
org.eclipse.jetty.http

public Class HttpGenerator

extends Object
Class Inheritance
Imports
java.io.IOException, java.nio.BufferOverflowException, .ByteBuffer, java.util.Arrays, java.util.function.Supplier, java.util.stream.Collectors, .Stream, org.eclipse.jetty.http.HttpTokens.EndOfContent, org.eclipse.jetty.util.BufferUtil, .Index, .StringUtil, org.slf4j.Logger, .LoggerFactory

HttpGenerator. Builds HTTP Messages.

If the system property "org.eclipse.jetty.http.HttpGenerator.STRICT" is set to true, then the generator will strictly pass on the exact strings received from methods and header fields. Otherwise a fast case insensitive string lookup is used that may alter the case and white space of some methods/headers

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
public static enum
public static enum

Field Summary

Modifier and TypeField and Description
private static final byte[]
private static final HttpGenerator.PreparedResponse[]
public static final boolean
private long
private HttpTokens.EndOfContent
private MetaData
private boolean
private boolean
private Boolean
private HttpGenerator.State
private static final Index<Boolean>
public static final int
private static final byte[]
private static final byte[]
public static final MetaData.Response
private static final byte[]
private static final byte[]
private static final Logger
private static final byte[]
private static final byte[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
private HttpGenerator.Result
committed(ByteBuffer chunk, ByteBuffer content, boolean last)

private HttpGenerator.Result
private void
generateHeaders(ByteBuffer header, ByteBuffer content, boolean last)

public HttpGenerator.Result
generateRequest(MetaData.Request info, ByteBuffer header, ByteBuffer chunk, ByteBuffer content, boolean last)

private void
public HttpGenerator.Result
generateResponse(MetaData.Response info, boolean head, ByteBuffer header, ByteBuffer chunk, ByteBuffer content, boolean last)

private void
private void
public long
public static byte[]
getReasonBuffer(int code)

private byte[]
public HttpGenerator.State
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
isPersistent()

Returns: true if known to be persistent

public boolean
isPersistent(HttpVersion version)

Returns: true if known to be persistent

public boolean
public boolean
private void
prepareChunk(ByteBuffer chunk, int remaining)

private static void
putContentLength(ByteBuffer header, long contentLength)

private static void
private static void
public static void
putTo(HttpField field, ByteBuffer bufferInFillMode)

public static void
putTo(HttpFields.Mutable fields, ByteBuffer bufferInFillMode)

public void
public void
public void
setPersistent(boolean persistent)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

__colon_spaceback to summary
private static final byte[] __colon_space
__prepreparedback to summary
private static final HttpGenerator.PreparedResponse[] __preprepared
__STRICTback to summary
public static final boolean __STRICT
_contentPreparedback to summary
private long _contentPrepared
_endOfContentback to summary
private HttpTokens.EndOfContent _endOfContent
_infoback to summary
private MetaData _info
_needCRLFback to summary
private boolean _needCRLF
_noContentResponseback to summary
private boolean _noContentResponse
_persistentback to summary
private Boolean _persistent
_stateback to summary
private HttpGenerator.State _state
ASSUMED_CONTENT_METHODSback to summary
private static final Index<Boolean> ASSUMED_CONTENT_METHODS
CHUNK_SIZEback to summary
public static final int CHUNK_SIZE
CONNECTION_CLOSEback to summary
private static final byte[] CONNECTION_CLOSE
CONTENT_LENGTH_0back to summary
private static final byte[] CONTENT_LENGTH_0
CONTINUE_100_INFOback to summary
public static final MetaData.Response CONTINUE_100_INFO
HTTP_1_1_SPACEback to summary
private static final byte[] HTTP_1_1_SPACE
LAST_CHUNKback to summary
private static final byte[] LAST_CHUNK
LOGback to summary
private static final Logger LOG
TRANSFER_ENCODING_CHUNKEDback to summary
private static final byte[] TRANSFER_ENCODING_CHUNKED
ZERO_CHUNKback to summary
private static final byte[] ZERO_CHUNK

Constructor Detail

HttpGeneratorback to summary
public HttpGenerator()

Method Detail

abortback to summary
public void abort()
committedback to summary
private HttpGenerator.Result committed(ByteBuffer chunk, ByteBuffer content, boolean last)
completingback to summary
private HttpGenerator.Result completing(ByteBuffer chunk, ByteBuffer content)
generateHeadersback to summary
private void generateHeaders(ByteBuffer header, ByteBuffer content, boolean last)
generateRequestback to summary
public HttpGenerator.Result generateRequest(MetaData.Request info, ByteBuffer header, ByteBuffer chunk, ByteBuffer content, boolean last) throws IOException
generateRequestLineback to summary
private void generateRequestLine(MetaData.Request request, ByteBuffer header)
generateResponseback to summary
public HttpGenerator.Result generateResponse(MetaData.Response info, boolean head, ByteBuffer header, ByteBuffer chunk, ByteBuffer content, boolean last) throws IOException
generateResponseLineback to summary
private void generateResponseLine(MetaData.Response response, ByteBuffer header)
generateTrailersback to summary
private void generateTrailers(ByteBuffer buffer, HttpFields trailer)
getContentPreparedback to summary
public long getContentPrepared()
getReasonBufferback to summary
public static byte[] getReasonBuffer(int code)
getReasonBytesback to summary
private byte[] getReasonBytes(String reason)
getStateback to summary
public HttpGenerator.State getState()
isChunkingback to summary
public boolean isChunking()
isCommittedback to summary
public boolean isCommitted()
isEndback to summary
public boolean isEnd()
isIdleback to summary
public boolean isIdle()
isNoContentback to summary
public boolean isNoContent()
isPersistentback to summary
public boolean isPersistent()
Returns:boolean

true if known to be persistent

isPersistentback to summary
public boolean isPersistent(HttpVersion version)
Returns:boolean

true if known to be persistent

isStateback to summary
public boolean isState(HttpGenerator.State state)
isWrittenback to summary
public boolean isWritten()
prepareChunkback to summary
private void prepareChunk(ByteBuffer chunk, int remaining)
putContentLengthback to summary
private static void putContentLength(ByteBuffer header, long contentLength)
putSanitisedNameback to summary
private static void putSanitisedName(String s, ByteBuffer buffer)
putSanitisedValueback to summary
private static void putSanitisedValue(String s, ByteBuffer buffer)
putToback to summary
public static void putTo(HttpField field, ByteBuffer bufferInFillMode)
putToback to summary
public static void putTo(HttpFields.Mutable fields, ByteBuffer bufferInFillMode)
resetback to summary
public void reset()
servletUpgradeback to summary
public void servletUpgrade()
setPersistentback to summary
public void setPersistent(boolean persistent)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
org.eclipse.jetty.http back to summary

private Class HttpGenerator.PreparedResponse

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv byte[]
pack-priv byte[]
pack-priv byte[]

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_reasonback to summary
pack-priv byte[] _reason
_responseLineback to summary
pack-priv byte[] _responseLine
_schemeCodeback to summary
pack-priv byte[] _schemeCode

Constructor Detail

PreparedResponseback to summary
private PreparedResponse()
org.eclipse.jetty.http back to summary

public final Enum HttpGenerator.Result

extends Enum<HttpGenerator.Result>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result
public static final HttpGenerator.Result

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static HttpGenerator.Result
public static HttpGenerator.Result[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

CONTINUEback to summary
public static final HttpGenerator.Result CONTINUE
DONEback to summary
public static final HttpGenerator.Result DONE
FLUSHback to summary
public static final HttpGenerator.Result FLUSH
HEADER_OVERFLOWback to summary
public static final HttpGenerator.Result HEADER_OVERFLOW
NEED_CHUNKback to summary
public static final HttpGenerator.Result NEED_CHUNK
NEED_CHUNK_TRAILERback to summary
public static final HttpGenerator.Result NEED_CHUNK_TRAILER
NEED_HEADERback to summary
public static final HttpGenerator.Result NEED_HEADER
NEED_INFOback to summary
public static final HttpGenerator.Result NEED_INFO
SHUTDOWN_OUTback to summary
public static final HttpGenerator.Result SHUTDOWN_OUT

Constructor Detail

Resultback to summary
private Result()

Method Detail

valueOfback to summary
public static HttpGenerator.Result valueOf(String name)
valuesback to summary
public static HttpGenerator.Result[] values()
org.eclipse.jetty.http back to summary

public final Enum HttpGenerator.State

extends Enum<HttpGenerator.State>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final HttpGenerator.State
public static final HttpGenerator.State
public static final HttpGenerator.State
public static final HttpGenerator.State
public static final HttpGenerator.State

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static HttpGenerator.State
public static HttpGenerator.State[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

COMMITTEDback to summary
public static final HttpGenerator.State COMMITTED
COMPLETINGback to summary
public static final HttpGenerator.State COMPLETING
COMPLETING_1XXback to summary
public static final HttpGenerator.State COMPLETING_1XX
ENDback to summary
public static final HttpGenerator.State END
STARTback to summary
public static final HttpGenerator.State START

Constructor Detail

Stateback to summary
private State()

Method Detail

valueOfback to summary
public static HttpGenerator.State valueOf(String name)
valuesback to summary
public static HttpGenerator.State[] values()