6 public class HTTPServices{
8 static private String webRoot = ".";
10 static private Reader get_reader(String fileName,HTTPResponse resp) throws IOException{
12 // if(fileName.equals("/daytime")){
13 // String date_str = (new Date()).toString();
14 // resp.sentBytes = date_str.length();
16 // new StringReader(date_str);
19 if(fileName.equals("/viewlog"))
20 fileName = LogFile.log_file_name;
22 fileName = webRoot + fileName;
24 File f = new File(fileName);
25 resp.sentBytes = f.length();
26 return new FileReader(f);
29 resp.returnCode = 501;
31 new StringReader("Error accessing " + fileName);
35 public static void GET_handler(String fileName, BufferedWriter out,HTTPResponse resp){
37 BufferedReader reader = null;
41 if((reader = HEAD_handler_int(fileName,out,resp)) == null) return;
43 buffer = new char[1024];
46 while((size = reader.read(buffer,0,buffer.length)) != -1)
47 out.write(buffer,0,size);
52 resp.returnCode = 501; // error during transmision
57 public static void POST_handler(String fileName, BufferedWriter out, HTTPResponse resp){
58 GET_handler(fileName,out,resp);
61 static private BufferedReader HEAD_handler_int(String fileName,
62 BufferedWriter out,HTTPResponse resp){
63 BufferedReader reader = null;
66 reader = new BufferedReader(get_reader(fileName, resp));
67 resp.returnCode = 200;
70 resp.returnCode = 404; // file not found
73 if(resp.returnCode == 200)
74 HTTPHeader.send_header(out, resp.returnCode, fileName, resp.sentBytes);
76 HTTPHeader.send_header(out, resp.returnCode, fileName, 0);
84 public static void HEAD_handler(String fileName,
85 BufferedWriter out, HTTPResponse resp){
86 HEAD_handler_int(fileName,out,resp);