//file: TinyHTTPDConnection
import java.net.*;
import java.io.*;
import java.util.*;
public class TinyHTTPDConnection extends Thread {
	Socket client;
	public TinyHTTPDConnection (Socket client) throws SocketException{
		this.client = client;
		setPriority(NORM_PRIORITY -1);
	}
	public void run(){
		try{
			BufferedReader in = new BufferedReader (new InputStreamReader(
				client.getInputStream(), "8859_1"));
			OutputStream out = client.getOutputStream();
			PrintWriter pout = new PrintWriter (new OutputStreamWriter(
				out, "8859_1"), true);
			String request = in.readLine();
			System.out.println("Request:" + request);
			StringTokenizer st = new StringTokenizer (request);
			if ((st.countTokens() >= 2) && st. nextToken().equals ("GET")){
				if((request = st.nextToken()).startsWith ("/"))
						request = request.substring(1);
				 	if (request.endsWith("/") || request.equals (""))
				 		request = request + "index.html";
				 	try{
				 		FileInputStream fis = new FileInputStream (request);
				 		byte[] data = new byte [fis.available()];
				 		fis.read(data);
				 		out.write(data);
				 		out.flush();}
				 	catch (FileNotFoundException e) {
				 		pout.println("404 object not found");
				 	}
				 }//fecha o if
				 else
				 	pout. println ("404 Bad Request");
					client.close();
			}//fecha o try
			catch(IOException e) {
				System.out.println("IO Error" + e);
			}
		}//fecha o run
	}//fecha a classe
			 