diff --git a/assets/pages/index.html b/assets/pages/index.html index 237b37d..e0d0578 100644 --- a/assets/pages/index.html +++ b/assets/pages/index.html @@ -33,7 +33,7 @@ diff --git a/assets/pages/payment.html b/assets/pages/payment.html new file mode 100644 index 0000000..a5ef5b8 --- /dev/null +++ b/assets/pages/payment.html @@ -0,0 +1,33 @@ + + + + + MASI 3DSecure + + + + + +
+

Payment page

+
+ + + + \ No newline at end of file diff --git a/src/main/java/common/common/src/html/HtmlManager.java b/src/main/java/common/common/src/html/HtmlManager.java index 467e1e4..2e249ad 100644 --- a/src/main/java/common/common/src/html/HtmlManager.java +++ b/src/main/java/common/common/src/html/HtmlManager.java @@ -1,17 +1,14 @@ package common.common.src.html; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; +import java.io.*; public class HtmlManager { - public String serveFile(String path){ + public String serveFile(String path) throws IOException { return readFile(path); } - private String readFile(String path){ + private String readFile(String path) throws IOException { File file = new File(path); try(BufferedReader fileReader = new BufferedReader(new FileReader(file))){ @@ -21,8 +18,6 @@ public class HtmlManager { responseBody.append(line); } return responseBody.toString(); - } catch (IOException e) { - throw new RuntimeException(e); } } } diff --git a/src/main/java/httpsServer/httpServer/src/Main.java b/src/main/java/httpsServer/httpServer/src/Main.java index 21ad827..39626a2 100644 --- a/src/main/java/httpsServer/httpServer/src/Main.java +++ b/src/main/java/httpsServer/httpServer/src/Main.java @@ -16,23 +16,18 @@ public class Main { public static void main(String[] args) throws IOException { final int port = 8043; - final HtmlManager htmlManager = new HtmlManager(); final AuthorizedClients authorizedClients = new AuthorizedClients(); HttpServer server = HttpServer.create(new InetSocketAddress(port), 5); server.createContext("/", exchange -> { - if(isUnauthorizedVerb(exchange, "GET")){ - exchange.sendResponseHeaders(405, -1); - return; - } + Logger.displayReceived("/ request"); + respondToGet(exchange, "./assets/pages/index.html"); + }); - String content = htmlManager.serveFile("./assets/pages/index.html"); - byte[] data = content.getBytes(StandardCharsets.UTF_8); - - exchange.getResponseHeaders().add("Content-Type", "text/html; charset=UTF-8"); - exchange.sendResponseHeaders(200, data.length); - send(exchange, data); + server.createContext("/payment", exchange -> { + Logger.displayReceived("/payment request"); + respondToGet(exchange, "./assets/pages/payment.html"); }); server.createContext("/login", exchange -> { @@ -58,12 +53,37 @@ public class Main { exchange.sendResponseHeaders(200, response.getBytes().length); send(exchange, response.getBytes()); + exchange.getResponseBody().close(); }); server.start(); Logger.displayInfo("Server started on port " + port); } + private static void respondToGet(HttpExchange exchange, String pagePath) throws IOException { + if(isUnauthorizedVerb(exchange, "GET")){ + exchange.sendResponseHeaders(405, -1); + return; + } + + try{ + final HtmlManager htmlManager = new HtmlManager(); + String content = htmlManager.serveFile(pagePath); + byte[] data = content.getBytes(StandardCharsets.UTF_8); + + exchange.getResponseHeaders().add("Content-Type", "text/html; charset=UTF-8"); + exchange.sendResponseHeaders(200, data.length); + send(exchange, data); + } catch (IOException ioe) { + ioe.printStackTrace(); + exchange.getResponseHeaders().add("Content-Type", "text/html; charset=UTF-8"); + exchange.sendResponseHeaders(404, 0); + } + finally { + exchange.getResponseBody().close(); + } + } + private static boolean isUnauthorizedVerb(HttpExchange exchange, String verb) throws IOException { return !verb.equalsIgnoreCase(exchange.getRequestMethod()); } diff --git a/src/main/java/httpsServer/httpServer/src/authorization/AuthorizedClients.java b/src/main/java/httpsServer/httpServer/src/authorization/AuthorizedClients.java index 48b33b4..2837b3f 100644 --- a/src/main/java/httpsServer/httpServer/src/authorization/AuthorizedClients.java +++ b/src/main/java/httpsServer/httpServer/src/authorization/AuthorizedClients.java @@ -18,8 +18,8 @@ public class AuthorizedClients { registerClient("Aude Vaiselle", "password1"); registerClient("Tony Truand", "password2"); registerClient("Jean Porte", "password3"); - registerClient("Ruby Niole", "password4"); - registerClient("Nat Assion", "password5"); + registerClient("Ruby Gnaule", "password4"); + registerClient("Nat Action", "password5"); registerClient("hepl", "hepl"); }