public abstract class ServerCall extends Call
Constructor and Description |
---|
ServerCall(Server server)
Constructor.
|
ServerCall(String serverAddress,
int serverPort)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract boolean |
abort()
Ask the connector to abort the related network connection, for example
immediately closing the socket.
|
void |
complete()
Complete the response
|
void |
flushBuffers()
Flushes the buffers onto the network so that for example you can force
headers to be written before the entity is becoming available.
|
List<Certificate> |
getCertificates()
Returns the chain of client SSL certificates, if available and
accessible.
|
String |
getCipherSuite()
Returns the SSL Cipher Suite, if available and accessible.
|
protected long |
getContentLength()
Returns the content length of the request entity if know,
Representation.UNKNOWN_SIZE otherwise. |
String |
getHostDomain()
Returns the host domain name.
|
int |
getHostPort()
Returns the host port.
|
Representation |
getRequestEntity()
Returns the request entity if available.
|
abstract InputStream |
getRequestEntityStream(long size)
Returns the request entity stream if it exists.
|
abstract InputStream |
getRequestHeadStream()
Returns the request head stream if it exists.
|
abstract OutputStream |
getResponseEntityStream()
Returns the response entity stream if it exists.
|
Integer |
getSslKeySize()
Returns the SSL key size, if available and accessible.
|
String |
getSslSessionId()
Returns the SSL session ID, in hexadecimal encoding, if available and
accessible.
|
protected byte[] |
getSslSessionIdBytes()
Returns the SSL session ID, as a byte array, if available and accessible
in that format (to be used by getSslSessionId).
|
protected boolean |
isClientKeepAlive()
Indicates if the client wants a persistent connection.
|
protected boolean |
isServerKeepAlive()
Indicates if the server wants a persistent connection.
|
protected void |
readRequestHead(InputStream headStream)
Reads the HTTP request head (request line and headers).
|
void |
sendResponse(Response response)
Sends the response back to the client.
|
boolean |
shouldResponseBeChunked(Response response)
Indicates if the response should be chunked because its length is
unknown.
|
protected void |
writeResponseBody(Representation entity,
OutputStream responseEntityStream)
Effectively writes the response body.
|
protected void |
writeResponseHead(Response response)
Writes the response status line and headers.
|
protected void |
writeResponseHead(Response response,
OutputStream headStream)
Writes the response head to the given output stream.
|
getClientAddress, getClientPort, getLogger, getMethod, getProtocol, getReasonPhrase, getRepresentation, getRepresentation, getRequestHeaders, getRequestUri, getResponseHeaders, getServerAddress, getServerPort, getStatusCode, getUserPrincipal, getVersion, isBroken, isConfidential, isConnectionBroken, isKeepAlive, isRequestChunked, isResponseChunked, setClientAddress, setClientPort, setConfidential, setHostDomain, setHostPort, setMethod, setProtocol, setReasonPhrase, setRequestUri, setServerAddress, setServerPort, setStatusCode, setUserPrincipal, setVersion
public ServerCall(Server server)
server
- The parent server connector.public ServerCall(String serverAddress, int serverPort)
serverAddress
- The server IP address.serverPort
- The server port.public abstract boolean abort()
public void complete()
public void flushBuffers() throws IOException
IOException
public List<Certificate> getCertificates()
public String getCipherSuite()
protected long getContentLength()
Representation.UNKNOWN_SIZE
otherwise.public String getHostDomain()
getHostDomain
in class Call
public int getHostPort()
getHostPort
in class Call
public Representation getRequestEntity()
public abstract InputStream getRequestEntityStream(long size)
size
- The expected entity size or -1 if unknown.public abstract InputStream getRequestHeadStream()
public abstract OutputStream getResponseEntityStream()
public Integer getSslKeySize()
public String getSslSessionId()
protected byte[] getSslSessionIdBytes()
protected boolean isClientKeepAlive()
Call
isClientKeepAlive
in class Call
protected boolean isServerKeepAlive()
Call
isServerKeepAlive
in class Call
protected void readRequestHead(InputStream headStream) throws IOException
IOException
public void sendResponse(Response response) throws IOException
response
- The high-level response.IOException
- if the Response could not be written to the network.public boolean shouldResponseBeChunked(Response response)
response
- The response to analyze.protected void writeResponseBody(Representation entity, OutputStream responseEntityStream) throws IOException
entity
- The representation to write as entity of the body.responseEntityStream
- The response entity stream or null if a channel is used.IOException
protected void writeResponseHead(Response response) throws IOException
response
- The response.IOException
protected void writeResponseHead(Response response, OutputStream headStream) throws IOException
response
- The response.headStream
- The output stream to write to.IOException
Copyright © 2005–2016. All rights reserved.