From 223b3c4fdfb14b90767ac7ff8e9d33f5a6c96304 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 3 Dec 2025 15:58:39 +0100 Subject: [PATCH] Implement http server --- assets/pages/index.html | 45 +++++++++++++++++++ .../common/common/src/html/HtmlManager.java | 33 ++++++++++++++ .../java/httpsServer/httpServer/src/Main.java | 28 +++++++++--- 3 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 assets/pages/index.html create mode 100644 src/main/java/common/common/src/html/HtmlManager.java diff --git a/assets/pages/index.html b/assets/pages/index.html new file mode 100644 index 0000000..1cd8c8c --- /dev/null +++ b/assets/pages/index.html @@ -0,0 +1,45 @@ + + + + + MASI 3DSecure + + + + + +
+

Welcome!

+
+ +
+ +
+ +
+ +
+ + + + + + + \ 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 new file mode 100644 index 0000000..6acf813 --- /dev/null +++ b/src/main/java/common/common/src/html/HtmlManager.java @@ -0,0 +1,33 @@ +package common.common.src.html; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +public class HtmlManager { + + public String serveFile(String path){ + String content = readFile(path); + return "HTTP/1.1 200 OK\r\n" + + "Content-Type: text/html\r\n" + + "Content-Length: " + content.length() + "\r\n" + + "\r\n" + + content; + } + + private String readFile(String path){ + File file = new File(path); + + try(BufferedReader fileReader = new BufferedReader(new FileReader(file))){ + StringBuilder responseBody = new StringBuilder(); + String line; + while ((line = fileReader.readLine()) != null) { + 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 78ae175..20f98bd 100644 --- a/src/main/java/httpsServer/httpServer/src/Main.java +++ b/src/main/java/httpsServer/httpServer/src/Main.java @@ -1,18 +1,34 @@ package httpsServer.httpServer.src; +import common.common.src.html.HtmlManager; import common.common.src.socket.SocketManager; -import java.net.InetSocketAddress; -import java.net.Socket; +import java.io.*; +import java.net.*; public class Main { public static void main(String[] args) { + final HtmlManager htmlManager = new HtmlManager(); + int port = 8043; + try (ServerSocket serverSocket = new ServerSocket(port)) { + System.out.println("Server started on port " + port); - final InetSocketAddress address = new InetSocketAddress("127.0.0.1", 8043); + while (true) { + try (Socket clientSocket = serverSocket.accept()) { + BufferedReader in = new BufferedReader( + new InputStreamReader(clientSocket.getInputStream())); - try(Socket socket = new Socket()){ - socket.bind(address); - } catch (Exception e){ + String requestLine = in.readLine(); + System.out.println("Request: " + requestLine); + + String response = htmlManager.serveFile("./assets/pages/index.html"); + SocketManager.send(clientSocket, response); + + } catch (IOException e) { + System.err.println("Client connection error: " + e.getMessage()); + } + } + } catch (IOException e) { e.printStackTrace(); } }