java.lang.Object
pinc.httpserver.Request
- All Implemented Interfaces:
- java.lang.Runnable
- public class Request
- extends java.lang.Object
- implements java.lang.Runnable
Title: Pinc
Description: Diese Klasse implementiert ebenfalls das Interface Runable,
um sie threadfähig zu machen. In der Run Methode wird die Request Message
analysiert und der entsprechende Eventhandler (ein entsprechendes Event
Objekt instanziert) gestartet, der die notwendigen Aktion des Events
ausführt (siehe doEvent() in Event Klasse).
Copyright: Copyright (c) 2003
Company: dn03
- Version:
- 1.0
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
clientSocket
java.net.Socket clientSocket
users
java.util.Hashtable users
scheduler
pinc.scheduler.IScheduler scheduler
inStream
java.io.InputStream inStream
outStream
java.io.OutputStream outStream
cr
char cr
lf
char lf
logFile
HTTPLogFile logFile
ip
java.lang.String ip
Request
public Request(pinc.scheduler.IScheduler _sched,
java.net.Socket socket,
HTTPLogFile l,
java.util.Hashtable u)
run
public void run()
- Analysiert die Message und instanziert je nach Art des Request ein neues
Eventhandler Objekt. Es muss auch die Richtigkeit des HTTP Request
überprüft werden. Auf alle Methoden außer GET soll eine entsprechende
HTTP 1.1 Error Message zurückgeliefert werden. Weiters muß überprüft
werden, ob der Pfad des GET Requestes dem der Spezifikation entspricht
(ansonsten 404 Not Found Reply). Mittels doEvent() des Handlerobjektes
wird die entsprechende Aktion ausgeführt. Mittels getHTML() erhält man
das entsprechende HTML Dokument des Ergebnisses welches dann in eine
entsprechende GET http 1.1 Request Message verpackt und an den Client
zurück geschickt wird. Bei einem Login wird der entsprechende User mit
der IP Adresse als Key in die Hashtable eingetragen. Der User muß für
jeden nachfolgenden Request in dieser Hashtable abscheinen. Bei jedem
Request wird der Timestamp des Users in der Userhashtable erneuert.
- Specified by:
run in interface java.lang.Runnable
getErrorHTML
private java.lang.String getErrorHTML(int number,
java.lang.String errorName,
java.lang.String message)
handleGif
private void handleGif(java.io.File gif)
throws java.lang.Exception
handleZip
private void handleZip(java.io.File zip)
throws java.lang.Exception