Package org.restlet.engine.adapter
Class ServerCall
- java.lang.Object
 - 
- org.restlet.engine.adapter.Call
 - 
- org.restlet.engine.adapter.ServerCall
 
 
 
- 
- Direct Known Subclasses:
 HttpExchangeCall
public abstract class ServerCall extends Call
Abstract HTTP server connector call.- Author:
 - Jerome Louvel
 
 
- 
- 
Constructor Summary
Constructors Constructor Description ServerCall(java.lang.String serverAddress, int serverPort)Constructor.ServerCall(org.restlet.Server server)Constructor. 
- 
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract booleanabort()Ask the connector to abort the related network connection, for example immediately closing the socket.voidcomplete()Complete the responsevoidflushBuffers()Flushes the buffers onto the network so that for example you can force headers to be written before the entity is becoming available.java.util.List<java.security.cert.Certificate>getCertificates()Returns the chain of client SSL certificates, if available and accessible.java.lang.StringgetCipherSuite()Returns the SSL Cipher Suite, if available and accessible.protected longgetContentLength()Returns the content length of the request entity if know,Representation.UNKNOWN_SIZEotherwise.java.lang.StringgetHostDomain()Returns the host domain name.intgetHostPort()Returns the host port.org.restlet.representation.RepresentationgetRequestEntity()Returns the request entity if available.abstract java.io.InputStreamgetRequestEntityStream(long size)Returns the request entity stream if it exists.abstract java.io.InputStreamgetRequestHeadStream()Returns the request head stream if it exists.abstract java.io.OutputStreamgetResponseEntityStream()Returns the response entity stream if it exists.java.lang.IntegergetSslKeySize()Returns the SSL key size, if available and accessible.java.lang.StringgetSslSessionId()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 booleanisClientKeepAlive()Indicates if the client wants a persistent connection.protected booleanisServerKeepAlive()Indicates if the server wants a persistent connection.protected voidreadRequestHead(java.io.InputStream headStream)Reads the HTTP request head (request line and headers).voidsendResponse(org.restlet.Response response)Sends the response back to the client.booleanshouldResponseBeChunked(org.restlet.Response response)Indicates if the response should be chunked because its length is unknown.protected voidwriteResponseBody(org.restlet.representation.Representation entity, java.io.OutputStream responseEntityStream)Effectively writes the response body.protected voidwriteResponseHead(org.restlet.Response response)Writes the response status line and headers.protected voidwriteResponseHead(org.restlet.Response response, java.io.OutputStream headStream)Writes the response head to the given output stream.- 
Methods inherited from class org.restlet.engine.adapter.Call
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 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
ServerCall
public ServerCall(org.restlet.Server server)
Constructor.- Parameters:
 server- The parent server connector.
 
- 
ServerCall
public ServerCall(java.lang.String serverAddress, int serverPort)Constructor.- Parameters:
 serverAddress- The server IP address.serverPort- The server port.
 
 - 
 
- 
Method Detail
- 
abort
public abstract boolean abort()
Ask the connector to abort the related network connection, for example immediately closing the socket.- Returns:
 - True if the connection was aborted.
 
 
- 
complete
public void complete()
Complete the response 
- 
flushBuffers
public void flushBuffers() throws java.io.IOExceptionFlushes the buffers onto the network so that for example you can force headers to be written before the entity is becoming available.- Throws:
 java.io.IOException
 
- 
getCertificates
public java.util.List<java.security.cert.Certificate> getCertificates()
Returns the chain of client SSL certificates, if available and accessible.- Returns:
 - The chain of client SSL certificates, if available and accessible.
 
 
- 
getCipherSuite
public java.lang.String getCipherSuite()
Returns the SSL Cipher Suite, if available and accessible.- Returns:
 - The SSL Cipher Suite, if available and accessible.
 
 
- 
getContentLength
protected long getContentLength()
Returns the content length of the request entity if know,Representation.UNKNOWN_SIZEotherwise.- Returns:
 - The request content length.
 
 
- 
getHostDomain
public java.lang.String getHostDomain()
Returns the host domain name.- Overrides:
 getHostDomainin classCall- Returns:
 - The host domain name.
 
 
- 
getHostPort
public int getHostPort()
Returns the host port.- Overrides:
 getHostPortin classCall- Returns:
 - The host port.
 
 
- 
getRequestEntity
public org.restlet.representation.Representation getRequestEntity()
Returns the request entity if available.- Returns:
 - The request entity if available.
 
 
- 
getRequestEntityStream
public abstract java.io.InputStream getRequestEntityStream(long size)
Returns the request entity stream if it exists.- Parameters:
 size- The expected entity size or -1 if unknown.- Returns:
 - The request entity stream if it exists.
 
 
- 
getRequestHeadStream
public abstract java.io.InputStream getRequestHeadStream()
Returns the request head stream if it exists.- Returns:
 - The request head stream if it exists.
 
 
- 
getResponseEntityStream
public abstract java.io.OutputStream getResponseEntityStream()
Returns the response entity stream if it exists.- Returns:
 - The response entity stream if it exists.
 
 
- 
getSslKeySize
public java.lang.Integer getSslKeySize()
Returns the SSL key size, if available and accessible.- Returns:
 - The SSL key size, if available and accessible.
 
 
- 
getSslSessionId
public java.lang.String getSslSessionId()
Returns the SSL session ID, in hexadecimal encoding, if available and accessible.- Returns:
 - The SSL session ID, in hexadecimal encoding, if available and accessible.
 
 
- 
getSslSessionIdBytes
protected byte[] getSslSessionIdBytes()
Returns the SSL session ID, as a byte array, if available and accessible in that format (to be used by getSslSessionId).- Returns:
 - The SSL session ID, as a byte array, if available and accessible in that format.
 
 
- 
isClientKeepAlive
protected boolean isClientKeepAlive()
Description copied from class:CallIndicates if the client wants a persistent connection.- Specified by:
 isClientKeepAlivein classCall- Returns:
 - True if the client wants a persistent connection.
 
 
- 
isServerKeepAlive
protected boolean isServerKeepAlive()
Description copied from class:CallIndicates if the server wants a persistent connection.- Specified by:
 isServerKeepAlivein classCall- Returns:
 - True if the server wants a persistent connection.
 
 
- 
readRequestHead
protected void readRequestHead(java.io.InputStream headStream) throws java.io.IOExceptionReads the HTTP request head (request line and headers).- Throws:
 java.io.IOException
 
- 
sendResponse
public void sendResponse(org.restlet.Response response) throws java.io.IOExceptionSends the response back to the client. Commits the status, headers and optional entity and send them over the network. The default implementation only writes the response entity on the response stream or channel. Subclasses will probably also copy the response headers and status.- Parameters:
 response- The high-level response.- Throws:
 java.io.IOException- if the Response could not be written to the network.
 
- 
shouldResponseBeChunked
public boolean shouldResponseBeChunked(org.restlet.Response response)
Indicates if the response should be chunked because its length is unknown.- Parameters:
 response- The response to analyze.- Returns:
 - True if the response should be chunked.
 
 
- 
writeResponseBody
protected void writeResponseBody(org.restlet.representation.Representation entity, java.io.OutputStream responseEntityStream) throws java.io.IOExceptionEffectively writes the response body. The entity to write is guaranteed to be non null. Attempts to write the entity on the response channel or response stream by default.- Parameters:
 entity- The representation to write as entity of the body.responseEntityStream- The response entity stream or null if a channel is used.- Throws:
 java.io.IOException
 
- 
writeResponseHead
protected void writeResponseHead(org.restlet.Response response) throws java.io.IOExceptionWrites the response status line and headers. Does nothing by default.- Parameters:
 response- The response.- Throws:
 java.io.IOException
 
- 
writeResponseHead
protected void writeResponseHead(org.restlet.Response response, java.io.OutputStream headStream) throws java.io.IOExceptionWrites the response head to the given output stream.- Parameters:
 response- The response.headStream- The output stream to write to.- Throws:
 java.io.IOException
 
 - 
 
 -