Package org.eclipse.jetty.client.http
Class HttpReceiverOverHTTP
- java.lang.Object
-
- org.eclipse.jetty.client.HttpReceiver
-
- org.eclipse.jetty.client.http.HttpReceiverOverHTTP
-
- All Implemented Interfaces:
HttpParser.HttpHandler,HttpParser.ResponseHandler
public class HttpReceiverOverHTTP extends HttpReceiver implements HttpParser.ResponseHandler
-
-
Field Summary
Fields Modifier and Type Field Description private booleancompleteprivate java.util.concurrent.atomic.LongAdderinMessagesprivate java.lang.Stringmethodprivate RetainableByteBuffernetworkBufferprivate HttpParserparserprivate booleanshutdownprivate intstatusprivate booleanunsolicited-
Fields inherited from class org.eclipse.jetty.client.HttpReceiver
LOG
-
-
Constructor Summary
Constructors Constructor Description HttpReceiverOverHTTP(HttpChannelOverHTTP channel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidacquireNetworkBuffer()voidbadMessage(BadMessageException failure)Called to signal that a bad HTTP message has been received.booleancontent(java.nio.ByteBuffer buffer)booleancontentComplete()voidearlyEOF()Called to signal that an EOF was received unexpectedly during the parsing of an HTTP messageprivate voidfailAndClose(java.lang.Throwable failure)protected voidfillInterested()intgetHeaderCacheSize()HttpChannelOverHTTPgetHttpChannel()private HttpConnectionOverHTTPgetHttpConnection()(package private) longgetMessagesIn()protected java.nio.ByteBuffergetResponseBuffer()booleanheaderComplete()protected booleanisShutdown()booleanmessageComplete()private RetainableByteBuffernewNetworkBuffer()protected java.nio.ByteBufferonUpgradeFrom()private booleanparse()Parses an HTTP response in the receivers buffer.voidparsedHeader(HttpField field)This is the method called by parser when an HTTP Header name and value is foundvoidparsedTrailer(HttpField trailer)This is the method called by parser when an HTTP Trailer name and value is foundprivate voidprocess()private voidreacquireNetworkBuffer()voidreceive()private voidreleaseNetworkBuffer()protected voidreset()Resets the state of this HttpReceiver.private voidshutdown()booleanstartResponse(HttpVersion version, int status, java.lang.String reason)This is the method called by parser when the HTTP request line is parsedjava.lang.StringtoString()-
Methods inherited from class org.eclipse.jetty.client.HttpReceiver
abort, demand, dispose, getHttpDestination, getHttpExchange, hasDemandOrStall, isFailed, responseBegin, responseContent, responseFailure, responseHeader, responseHeaders, responseSuccess, storeCookie
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.http.HttpParser.HttpHandler
badMessage
-
-
-
-
Field Detail
-
inMessages
private final java.util.concurrent.atomic.LongAdder inMessages
-
parser
private final HttpParser parser
-
networkBuffer
private RetainableByteBuffer networkBuffer
-
shutdown
private boolean shutdown
-
complete
private boolean complete
-
unsolicited
private boolean unsolicited
-
method
private java.lang.String method
-
status
private int status
-
-
Constructor Detail
-
HttpReceiverOverHTTP
public HttpReceiverOverHTTP(HttpChannelOverHTTP channel)
-
-
Method Detail
-
getHttpChannel
public HttpChannelOverHTTP getHttpChannel()
- Overrides:
getHttpChannelin classHttpReceiver
-
getHttpConnection
private HttpConnectionOverHTTP getHttpConnection()
-
getResponseBuffer
protected java.nio.ByteBuffer getResponseBuffer()
-
receive
public void receive()
- Overrides:
receivein classHttpReceiver
-
acquireNetworkBuffer
private void acquireNetworkBuffer()
-
reacquireNetworkBuffer
private void reacquireNetworkBuffer()
-
newNetworkBuffer
private RetainableByteBuffer newNetworkBuffer()
-
releaseNetworkBuffer
private void releaseNetworkBuffer()
-
onUpgradeFrom
protected java.nio.ByteBuffer onUpgradeFrom()
-
process
private void process()
-
parse
private boolean parse()
Parses an HTTP response in the receivers buffer.- Returns:
- true to indicate that parsing should be interrupted (and will be resumed by another thread).
-
fillInterested
protected void fillInterested()
-
shutdown
private void shutdown()
-
isShutdown
protected boolean isShutdown()
-
getHeaderCacheSize
public int getHeaderCacheSize()
- Specified by:
getHeaderCacheSizein interfaceHttpParser.HttpHandler- Returns:
- the size in bytes of the per parser header cache
-
startResponse
public boolean startResponse(HttpVersion version, int status, java.lang.String reason)
Description copied from interface:HttpParser.ResponseHandlerThis is the method called by parser when the HTTP request line is parsed- Specified by:
startResponsein interfaceHttpParser.ResponseHandler- Parameters:
version- the http version in usestatus- the response statusreason- the response reason phrase- Returns:
- true if handling parsing should return
-
parsedHeader
public void parsedHeader(HttpField field)
Description copied from interface:HttpParser.HttpHandlerThis is the method called by parser when an HTTP Header name and value is found- Specified by:
parsedHeaderin interfaceHttpParser.HttpHandler- Parameters:
field- The field parsed
-
headerComplete
public boolean headerComplete()
- Specified by:
headerCompletein interfaceHttpParser.HttpHandler
-
content
public boolean content(java.nio.ByteBuffer buffer)
- Specified by:
contentin interfaceHttpParser.HttpHandler
-
contentComplete
public boolean contentComplete()
- Specified by:
contentCompletein interfaceHttpParser.HttpHandler
-
parsedTrailer
public void parsedTrailer(HttpField trailer)
Description copied from interface:HttpParser.HttpHandlerThis is the method called by parser when an HTTP Trailer name and value is found- Specified by:
parsedTrailerin interfaceHttpParser.HttpHandler- Parameters:
trailer- The field parsed
-
messageComplete
public boolean messageComplete()
- Specified by:
messageCompletein interfaceHttpParser.HttpHandler
-
earlyEOF
public void earlyEOF()
Description copied from interface:HttpParser.HttpHandlerCalled to signal that an EOF was received unexpectedly during the parsing of an HTTP message- Specified by:
earlyEOFin interfaceHttpParser.HttpHandler
-
badMessage
public void badMessage(BadMessageException failure)
Description copied from interface:HttpParser.HttpHandlerCalled to signal that a bad HTTP message has been received.- Specified by:
badMessagein interfaceHttpParser.HttpHandler- Parameters:
failure- the failure with the bad message information
-
reset
protected void reset()
Description copied from class:HttpReceiverResets the state of this HttpReceiver.Subclasses should override (but remember to call
super) to reset their own state.Either this method or
HttpReceiver.dispose()is called.- Overrides:
resetin classHttpReceiver
-
failAndClose
private void failAndClose(java.lang.Throwable failure)
-
getMessagesIn
long getMessagesIn()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classHttpReceiver
-
-