## org.w3c.www.protocol.http
Class HttpServer

    java.lang.Object
      |
      +--org.w3c.www.protocol.http.HttpServer

Direct Known Subclasses:
  HttpBasicServer, HttpMuxServer

public abstract class HttpServer
extends java.lang.Object

The HttpServer interface. This interface is used to control the communication between the HttpManager and the HttpServer on one side, and between the HttpServer and the HttpConnection on the other side.

The implementation of the Connection part of the interface is optional and should be provided only if your server instance uses the connection concept.

Field Summary
`protected org.w3c.www.protocol.http.HttpServerState` `state`

Constructor Summary
`HttpServer()`

Method Summary
`abstract short` `getMajorVersion()` Get this server's major version number.
`abstract short` `getMinorVersion()` Get this server's minor version number.
`abstract java.lang.String` `getProtocol()` Get this servers' protocol.
`protected org.w3c.www.protocol.http.HttpServerState` `getState()` Get the manager's state for that server.
`abstract void` `initialize(HttpManager manager, org.w3c.www.protocol.http.HttpServerState state, java.lang.String host, int port, int timeout)` Initialize this server instance for the given target location.
`protected abstract void` `interruptRequest(Request request)` Interrupt the given request (that was launched by that server).
`abstract Reply` `runRequest(Request request)` HTTP manager interface - Handle this request in sync mode.
`protected abstract void` `setConnTimeout(int conn_timeout)` Set the new connection timeout for this server
`protected abstract void` `setTimeout(int timeout)` Set the new timeout for this server

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### state

    protected org.w3c.www.protocol.http.HttpServerState state

Constructor Detail

### HttpServer

    public HttpServer()

Method Detail

### getProtocol

    public abstract java.lang.String getProtocol()

  Get this servers' protocol.
  Returns:
    A String encoding the protocol used to dialog with the target server.

### getState

    protected final org.w3c.www.protocol.http.HttpServerState getState()

  Get the manager's state for that server.
  Returns:
    The manager state.

### getMajorVersion

    public abstract short getMajorVersion()

  Get this server's major version number.
  Returns:
    The server's major number version, or -1 if still unknown.

### getMinorVersion

    public abstract short getMinorVersion()

  Get this server's minor version number.
  Returns:
    The server's minor number version, or -1 if still unknown.

### runRequest

    public abstract Reply runRequest(Request request)
                              throws HttpException

  HTTP manager interface - Handle this request in sync mode.
  Parameters:
    `request` - The request this server should run.
  Returns:
    A Reply instance, containing the target server's reply.
  Throws:
    HttpException - If anything failed during request processing.

### interruptRequest

    protected abstract void interruptRequest(Request request)

  Interrupt the given request (that was launched by that server).
  Parameters:
    `request` - The request to interrupt.

### setTimeout

    protected abstract void setTimeout(int timeout)

  Set the new timeout for this server
  Parameters:
    `timeout` - The timeout value in milliseconds

### setConnTimeout

    protected abstract void setConnTimeout(int conn_timeout)

  Set the new connection timeout for this server
  Parameters:
    `timeout` - The timeout value in milliseconds

### initialize

    public abstract void initialize(HttpManager manager,
                                    org.w3c.www.protocol.http.HttpServerState state,
                                    java.lang.String host,
                                    int port,
                                    int timeout)
                             throws HttpException

  Initialize this server instance for the given target location.
  Parameters:
    `manager` - The central HTTP protocol manager.
    `state` - The manager's state for that server.
    `host` - The target server's FQDN.
    `port` - The target server's port number.
    `timeout` - The timeout in millisecond for the sockets
  Throws:
    HttpException - If host coulnd't be resolved.