Update readme

il manque ex2 partie 2
This commit is contained in:
Minh VU
2025-02-24 15:58:57 +01:00
parent 31f2044753
commit a47ae80e69
3 changed files with 70 additions and 115 deletions

View File

@@ -15,12 +15,15 @@ public class HTTPHandler implements ClientHandler, Runnable {
public void handle() {
try {
// Crée les print writer et buffered reader
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// lit l'entête de la requête
String[] premiere_ligne=in.readLine().split(" ");
System.out.println(premiere_ligne.length);
if(premiere_ligne.length<2){
doError(out);
}
System.out.println(premiere_ligne[0] + " " + premiere_ligne[1]);
// Appelle doGet si la méthode est une méthode GET.
if (premiere_ligne[0].equals("GET")){
@@ -45,10 +48,11 @@ public class HTTPHandler implements ClientHandler, Runnable {
// si le fichier existe :
if (f.exists() && !f.isDirectory()) {
//Ecrit l'en-tête de réponse (Code, Content-type, Connexion, ...)
out.println("HTTP/1.1 200 OK");
out.println("Content-Type: text/html");
out.println("Connection: close");
out.println("");
//Ecrit le contenu du fichier si il existe
BufferedReader fin = new BufferedReader(new FileReader(f));
@@ -56,8 +60,9 @@ public class HTTPHandler implements ClientHandler, Runnable {
while ((line = fin.readLine()) != null) {
out.println(line);
}
out.println("Connection: close");
out.println();
out.flush();
out.close();
fin.close();
}else{
// sinon
// appelle la méthode send404.
@@ -71,6 +76,7 @@ public class HTTPHandler implements ClientHandler, Runnable {
out.println("Content-Type: text/html");
out.println("Connection: close");
out.println("");
out.flush();
}
public void doError(PrintWriter out) {
@@ -79,20 +85,11 @@ public class HTTPHandler implements ClientHandler, Runnable {
out.println("Content-Type: text/html");
out.println("Connection: close");
out.println("");
out.flush();
}
@Override
public void run() {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = in.readLine();
System.out.println(message);
String[] a= message.split(" ");
if(a[0].equals("GET")) {
doGet("test.html",new PrintWriter(new OutputStreamWriter(socket.getOutputStream())));
}
} catch (IOException e) {
throw new RuntimeException(e);
}
handle();
}
}