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");
}