Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

pinc.httpserver
Class Request  view Request download Request.java

java.lang.Object
  extended bypinc.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

Field Summary
(package private)  java.net.Socket clientSocket
           
(package private)  char cr
           
(package private)  java.io.InputStream inStream
           
(package private)  java.lang.String ip
           
(package private)  char lf
           
(package private)  HTTPLogFile logFile
           
(package private)  java.io.OutputStream outStream
           
(package private)  pinc.scheduler.IScheduler scheduler
           
(package private)  java.util.Hashtable users
           
 
Constructor Summary
Request(pinc.scheduler.IScheduler _sched, java.net.Socket socket, HTTPLogFile l, java.util.Hashtable u)
           
 
Method Summary
private  java.lang.String getErrorHTML(int number, java.lang.String errorName, java.lang.String message)
           
private  void handleGif(java.io.File gif)
           
private  void handleZip(java.io.File zip)
           
 void run()
          Analysiert die Message und instanziert je nach Art des Request ein neues Eventhandler Objekt.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

Request

public Request(pinc.scheduler.IScheduler _sched,
               java.net.Socket socket,
               HTTPLogFile l,
               java.util.Hashtable u)
Method Detail

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