/*
  Tyba HTTP Server, v0.1  
  By Carlos Varela (cavarela@uniandes.edu.co, cvarela@isr.co.jp)
  March, 1996

  v0.2  July 8, 1996  cvarela :  Restructured server classes.
*/

import java.net.*;
import java.io.*;

class HTServer {

    static int portNumber = 8080;
    static ServerSocket serverSocket = null;
    static String documentRoot = new String("/home/agha/cvarela/tyba/htdocs");
    static String protocolVersion = new String("HTTP/1.0");
    static String serverVersion = new String("Tyba/0.2");

    public static void main(String args[]) {

        try {
            serverSocket = new ServerSocket(portNumber);
        } catch (IOException e) {
            System.out.println("Could not listen on port: " + 
                                portNumber + ", " + e);
            System.exit(1);
        }

        while (true) {
            Socket clientSocket = null;
            try {
                clientSocket = serverSocket.accept();
            } catch (IOException e) {
                System.out.println("Accept failed: " + portNumber + ", " + e);
                System.exit(1);
            }

            try {
                HTConnection htconnection = new HTConnection(
                                            clientSocket.getInetAddress(),
                                            // ?? serverSocket ??
                                            clientSocket.getInputStream(),
                                            clientSocket.getOutputStream());
                htconnection.handleRequest();
                clientSocket.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    public static String getDocumentRoot(){
        return documentRoot;
    }

    public static String getProtocolVersion(){
        return protocolVersion;
    }

    public static String getServerVersion(){
        return serverVersion;
    }

}







