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 boolean
complete
private java.util.concurrent.atomic.LongAdder
inMessages
private RetainableByteBuffer
networkBuffer
private HttpParser
parser
private boolean
shutdown
private int
status
private boolean
unsolicited
-
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 void
acquireNetworkBuffer()
void
badMessage(BadMessageException failure)
Called to signal that a bad HTTP message has been received.boolean
content(java.nio.ByteBuffer buffer)
boolean
contentComplete()
void
earlyEOF()
Called to signal that an EOF was received unexpectedly during the parsing of an HTTP messageprivate void
failAndClose(java.lang.Throwable failure)
protected void
fillInterested()
int
getHeaderCacheSize()
HttpChannelOverHTTP
getHttpChannel()
private HttpConnectionOverHTTP
getHttpConnection()
(package private) long
getMessagesIn()
protected java.nio.ByteBuffer
getResponseBuffer()
boolean
headerComplete()
protected boolean
isShutdown()
boolean
messageComplete()
private RetainableByteBuffer
newNetworkBuffer()
protected java.nio.ByteBuffer
onUpgradeFrom()
private boolean
parse()
Parses an HTTP response in the receivers buffer.void
parsedHeader(HttpField field)
This is the method called by parser when an HTTP Header name and value is foundvoid
parsedTrailer(HttpField trailer)
This is the method called by parser when an HTTP Trailer name and value is foundprivate void
process()
private void
reacquireNetworkBuffer()
void
receive()
private void
releaseNetworkBuffer()
protected void
reset()
Resets the state of this HttpReceiver.private void
shutdown()
boolean
startResponse(HttpVersion version, int status, java.lang.String reason)
This is the method called by parser when the HTTP request line is parsedjava.lang.String
toString()
-
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
-
status
private int status
-
-
Constructor Detail
-
HttpReceiverOverHTTP
public HttpReceiverOverHTTP(HttpChannelOverHTTP channel)
-
-
Method Detail
-
getHttpChannel
public HttpChannelOverHTTP getHttpChannel()
- Overrides:
getHttpChannel
in classHttpReceiver
-
getHttpConnection
private HttpConnectionOverHTTP getHttpConnection()
-
getResponseBuffer
protected java.nio.ByteBuffer getResponseBuffer()
-
receive
public void receive()
- Overrides:
receive
in 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:
getHeaderCacheSize
in 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.ResponseHandler
This is the method called by parser when the HTTP request line is parsed- Specified by:
startResponse
in 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.HttpHandler
This is the method called by parser when an HTTP Header name and value is found- Specified by:
parsedHeader
in interfaceHttpParser.HttpHandler
- Parameters:
field
- The field parsed
-
headerComplete
public boolean headerComplete()
- Specified by:
headerComplete
in interfaceHttpParser.HttpHandler
-
content
public boolean content(java.nio.ByteBuffer buffer)
- Specified by:
content
in interfaceHttpParser.HttpHandler
-
contentComplete
public boolean contentComplete()
- Specified by:
contentComplete
in interfaceHttpParser.HttpHandler
-
parsedTrailer
public void parsedTrailer(HttpField trailer)
Description copied from interface:HttpParser.HttpHandler
This is the method called by parser when an HTTP Trailer name and value is found- Specified by:
parsedTrailer
in interfaceHttpParser.HttpHandler
- Parameters:
trailer
- The field parsed
-
messageComplete
public boolean messageComplete()
- Specified by:
messageComplete
in interfaceHttpParser.HttpHandler
-
earlyEOF
public void earlyEOF()
Description copied from interface:HttpParser.HttpHandler
Called to signal that an EOF was received unexpectedly during the parsing of an HTTP message- Specified by:
earlyEOF
in interfaceHttpParser.HttpHandler
-
badMessage
public void badMessage(BadMessageException failure)
Description copied from interface:HttpParser.HttpHandler
Called to signal that a bad HTTP message has been received.- Specified by:
badMessage
in interfaceHttpParser.HttpHandler
- Parameters:
failure
- the failure with the bad message information
-
reset
protected void reset()
Description copied from class:HttpReceiver
Resets 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:
reset
in classHttpReceiver
-
failAndClose
private void failAndClose(java.lang.Throwable failure)
-
getMessagesIn
long getMessagesIn()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classHttpReceiver
-
-