ecologylab.services.distributed.server.clientmanager
Class HTTPGetClientManager
java.lang.Object
ecologylab.generic.Debug
ecologylab.services.distributed.server.clientmanager.AbstractClientManager
ecologylab.services.distributed.server.clientmanager.HTTPClientManager
ecologylab.services.distributed.server.clientmanager.HTTPGetClientManager
- All Implemented Interfaces:
- NetworkingConstants, ServerConstants
public class HTTPGetClientManager
- extends HTTPClientManager
A ContextManager for handling HTTP Get requests. Can be used to respond to
browser requests.
- Author:
- Zachary O. Toups (toupsz@cs.tamu.edu)
| Fields inherited from class ecologylab.services.distributed.server.clientmanager.AbstractClientManager |
frontend, headerBufOutgoing, headerMap, initialized, maxPacketSize, messageWaiting, msgBufIncoming, msgBufOutgoing, registry, requestQueue, server, sessionId, socketKey, startLine, startReadIndex, translationSpace |
| Fields inherited from interface ecologylab.services.distributed.common.NetworkingConstants |
CHARACTER_ENCODING, CONTENT_LENGTH_STRING, CONTENT_LENGTH_STRING_LENGTH, DECODER, ENCODER, HTTP_HEADER_LINE_DELIMITER, HTTP_HEADER_TERMINATOR, MAX_HTTP_HEADER_LENGTH, MAX_PACKET_SIZE_BYTES, MAX_PACKET_SIZE_CHARACTERS, UNIQUE_IDENTIFIER_STRING |
| Methods inherited from class ecologylab.services.distributed.server.clientmanager.AbstractClientManager |
enqueueRequest, getLastActivity, getNextRequest, getSocketKey, isInitialized, isMessageWaiting, parseHeader, processAllMessagesAndSendResponses, processIncomingSequenceBufToQueue, setSocket, shutdown |
| Methods inherited from class ecologylab.generic.Debug |
classSimpleName, closeLoggingFile, debug, debug, debug, debug, debugA, debugA, debugA, debugI, debugI, debugI, error, error, getClassName, getClassName, getInteractive, getPackageName, getPackageName, getPackageName, initialize, level, level, level, logToFile, print, print, println, println, println, println, println, println, printlnA, printlnA, printlnA, printlnI, printlnI, printlnI, printlnI, setLoggingFile, show, show, superString, toggleInteractive, toString, toString, warning, warning, weird, weird |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
HTTPGetClientManager
public HTTPGetClientManager(java.lang.Object token,
int maxPacketSize,
NIOServerBackend server,
NIOServerFrontend frontend,
java.nio.channels.SelectionKey socketKey,
TranslationSpace translationSpace,
Scope<?> registry)
- Parameters:
token - server - socketKey - translationSpace - registry -
translateResponseMessageToStringBufferContents
protected void translateResponseMessageToStringBufferContents(RequestMessage requestMessage,
ResponseMessage responseMessage,
java.lang.StringBuilder outgoingMessageBuf)
throws XMLTranslationException
- This method only handles HttpGetRequest messages; it will report an error
for any non-HttpGetRequest. Otherwise, it will not add anything to the
msgBufOutgoing, as HttpGetRequests should only have a header and no
contnents
- Specified by:
translateResponseMessageToStringBufferContents in class AbstractClientManager
- Throws:
XMLTranslationException- See Also:
ecologylab.services.distributed.server.clientmanager.ClientManager#translateResponseMessageToString(ecologylab.services.messages.RequestMessage,
ecologylab.services.messages.ResponseMessage)
translateStringToRequestMessage
protected RequestMessage translateStringToRequestMessage(java.lang.CharSequence messageSequence)
throws XMLTranslationException,
java.io.UnsupportedEncodingException
- This client manager operates primarily on HTTP header data, as it is
unlikely that a GET request will contain an actual RequestMessage.
- Overrides:
translateStringToRequestMessage in class AbstractClientManager
- Parameters:
messageSequence - -
an XML String representing a RequestMessage object.
- Returns:
- the RequestMessage created by translating messageString into an
object.
- Throws:
java.io.UnsupportedEncodingException
XMLTranslationException - if an error occurs when translating from XML into a
RequestMessage.- See Also:
ecologylab.services.distributed.server.clientmanager.ClientManager#translateStringToRequestMessage(java.lang.String)