uk.ac.lancs.relate.gateways.services.config.classServer
Class Worker

java.lang.Object
  extended by uk.ac.lancs.relate.gateways.services.config.classServer.HTTPServer
      extended by uk.ac.lancs.relate.gateways.services.config.classServer.ClassServer
          extended by uk.ac.lancs.relate.gateways.services.config.classServer.Worker
All Implemented Interfaces:
java.lang.Runnable, HTTPConstants

public class Worker
extends ClassServer
implements HTTPConstants, java.lang.Runnable

This class is the worker thread of the ClassServer. Sources: http://java.sun.com/developer/technicalArticles/Networking/Webserver/

Author:
Dominique Guinard
Personal Homepage

Field Summary
 
Fields inherited from class uk.ac.lancs.relate.gateways.services.config.classServer.HTTPServer
props
 
Fields inherited from interface uk.ac.lancs.relate.gateways.services.config.classServer.HTTPConstants
HTTP_ACCEPTED, HTTP_BAD_GATEWAY, HTTP_BAD_METHOD, HTTP_BAD_REQUEST, HTTP_CLIENT_TIMEOUT, HTTP_CONFLICT, HTTP_CREATED, HTTP_ENTITY_TOO_LARGE, HTTP_FORBIDDEN, HTTP_GATEWAY_TIMEOUT, HTTP_GONE, HTTP_INTERNAL_ERROR, HTTP_LENGTH_REQUIRED, HTTP_MOVED_PERM, HTTP_MOVED_TEMP, HTTP_MULT_CHOICE, HTTP_NO_CONTENT, HTTP_NOT_ACCEPTABLE, HTTP_NOT_AUTHORITATIVE, HTTP_NOT_FOUND, HTTP_NOT_MODIFIED, HTTP_OK, HTTP_PARTIAL, HTTP_PAYMENT_REQUIRED, HTTP_PRECON_FAILED, HTTP_PROXY_AUTH, HTTP_REQ_TOO_LONG, HTTP_RESET, HTTP_SEE_OTHER, HTTP_SERVER_ERROR, HTTP_UNAUTHORIZED, HTTP_UNAVAILABLE, HTTP_UNSUPPORTED_TYPE, HTTP_USE_PROXY, HTTP_VERSION
 
Constructor Summary
Worker(int port, java.net.InetAddress bindingAddress)
          Creates a new instance of Worker
 
Method Summary
protected static void fillMap()
           
protected  void handleClient()
           
protected  void listDirectory(java.io.File dir, java.io.PrintStream ps)
           
protected  boolean printHeaders(java.io.File targ, java.io.PrintStream ps)
           
 void run()
          Starts the webserver's request/response loop
protected  void send404(java.io.File targ, java.io.PrintStream ps)
           
protected  void sendFile(java.io.File targ, java.io.PrintStream ps)
           
protected  void setSocket(java.net.Socket s)
           
protected static void setSuffix(java.lang.String k, java.lang.String v)
           
 
Methods inherited from class uk.ac.lancs.relate.gateways.services.config.classServer.ClassServer
getAddress, getPort, log, provideLatestVersionOfClasses, startServingClasses
 
Methods inherited from class uk.ac.lancs.relate.gateways.services.config.classServer.HTTPServer
loadProps, p, printProps
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Worker

public Worker(int port,
              java.net.InetAddress bindingAddress)
Creates a new instance of Worker

Method Detail

setSocket

protected void setSocket(java.net.Socket s)

run

public void run()
Description copied from class: HTTPServer
Starts the webserver's request/response loop

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class HTTPServer

handleClient

protected void handleClient()
                     throws java.io.IOException
Throws:
java.io.IOException

printHeaders

protected boolean printHeaders(java.io.File targ,
                               java.io.PrintStream ps)
                        throws java.io.IOException
Throws:
java.io.IOException

send404

protected void send404(java.io.File targ,
                       java.io.PrintStream ps)
                throws java.io.IOException
Throws:
java.io.IOException

sendFile

protected void sendFile(java.io.File targ,
                        java.io.PrintStream ps)
                 throws java.io.IOException
Throws:
java.io.IOException

setSuffix

protected static void setSuffix(java.lang.String k,
                                java.lang.String v)

fillMap

protected static void fillMap()

listDirectory

protected void listDirectory(java.io.File dir,
                             java.io.PrintStream ps)
                      throws java.io.IOException
Throws:
java.io.IOException