diff --git a/WebServer.java b/WebServer.java index 717be98..ba49d1e 100644 --- a/WebServer.java +++ b/WebServer.java @@ -47,12 +47,12 @@ public final class WebServer final static void log(String s) { - System.out.println("LOG: " + s); + System.out.println("LOG: " + s.trim()); } final static void errLog(String s) { - System.err.println("ERR: " + s); + System.err.println("ERR: " + s.trim()); } final static void errLog(Exception e) @@ -186,21 +186,24 @@ final class HttpRequest implements Runnable if(tokens.length != 3 || tokens[0].length() == 0 || tokens[1].length() == 0 || tokens[2].length() == 0 || !isAHTTPVersion) { WebServer.errLog("Wrong number of arguments in request!"); + WebServer.errLog(HttpResponse.BAD_REQUEST); sendHeader(HttpResponse.BAD_REQUEST); sendText("

400 Bad Request

"); } else if(!tokens[2].equals("HTTP/1.0")) { + WebServer.errLog(HttpResponse.NOT_IMPLEMENTED); + sendHeader(HttpResponse.NOT_IMPLEMENTED); sendText("

501 Not Implemented

"); } else if(tokens[1].charAt(0) != '/') { - WebServer.errLog("Illegal URI"); + WebServer.errLog(HttpResponse.BAD_REQUEST); - sendHeader(HttpResponse.NOT_IMPLEMENTED); - sendText("

501 Not Implemented

"); + sendHeader(HttpResponse.BAD_REQUEST); + sendText("

400 Bad Request

"); } else if((request.equals(HttpMethod.GET) || request.equals(HttpMethod.HEAD)) && tokens[2].equals(HTTP_VERSION)) { @@ -210,8 +213,8 @@ final class HttpRequest implements Runnable File f = new File("." + tokens[1]); // check if the file has been modified since - boolean modifiedSince = headers.containsKey("if-modified-since"); - if (modifiedSince) { + boolean modifiedSince = true; + if (headers.containsKey("if-modified-since")) { String dateString = headers.get("if-modified-since"); SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz"); @@ -224,6 +227,8 @@ final class HttpRequest implements Runnable if (!modifiedSince) { + WebServer.log(HttpResponse.NOT_MODIFIED); + sendHeader(HttpResponse.NOT_MODIFIED); sendText("

304 Not Modified

"); @@ -231,6 +236,8 @@ final class HttpRequest implements Runnable filein = new FileInputStream(f); + WebServer.log(HttpResponse.OK); + sendHeader(HttpResponse.OK, f); if(request.equals(HttpMethod.GET)) { @@ -241,6 +248,8 @@ final class HttpRequest implements Runnable } catch (FileNotFoundException e) { + WebServer.errLog(HttpResponse.NOT_FOUND); + sendHeader(HttpResponse.NOT_FOUND); sendText("

404 Not Found

"); @@ -248,15 +257,17 @@ final class HttpRequest implements Runnable } else if(request.equals(HttpMethod.POST)) { + WebServer.errLog(HttpResponse.NOT_IMPLEMENTED); + sendHeader(HttpResponse.NOT_IMPLEMENTED); sendText("

501 Not Implemented

"); } else { - WebServer.errLog("Illegal URI"); + WebServer.errLog(HttpResponse.BAD_REQUEST); sendHeader(HttpResponse.BAD_REQUEST); - sendText("

400 Bas Request

"); + sendText("

400 Bad Request

"); }