From 7807680b251ce4c1dbc97d0704902287c94b122d Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Tue, 3 May 2022 12:17:58 +0000 Subject: [PATCH] Handle custom parameters, --- out/codeBackground | 24 ++++++++++++------------ sigServer.java | 14 +++++++++++++- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/out/codeBackground b/out/codeBackground index 98f5c32..71e12d0 100644 --- a/out/codeBackground +++ b/out/codeBackground @@ -12,7 +12,18 @@ //This is valid. if (splitter[0].equals("GET")) { //This is a GET request. if (splitter[2].equals("HTTP/1.1")||splitter[2].equals("HTTP/2.0")) { - String requestloc = splitter[1]; + String[] requestSplit = splitter[1].split(Pattern.quote("?")); + String requestloc = requestSplit[0]; + HashMap requestParams = new HashMap<>(); + if (requestSplit.length>1) { + String[] params = requestSplit[1].split(Pattern.quote("&")); + for (String s : params) { + String key = s.substring(0,s.indexOf('=')); + String value = s.substring(s.indexOf('=')+1); + requestParams.put(key,value); + } + System.out.println(" ==Params for this request are: "+requestParams); + } if (requestloc.equals("/")) { //Send default directory. CreateRequest(client,"200","OK","testfile.html"); @@ -27,14 +38,3 @@ while (!(line=in.readLine()).isBlank()) { //System.out.println(line); } - } - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - private void CreateRawRequest(OutputStream stream, String statusCode, String statusMsg, String contentType, byte[] content) { - try { - stream.write(("HTTP/1.1 "+statusCode+" "+statusMsg+"\r\n").getBytes()); - stream.write(("ContentType: "+contentType+"\r\n").getBytes()); diff --git a/sigServer.java b/sigServer.java index f8b6cb0..0acbd6c 100644 --- a/sigServer.java +++ b/sigServer.java @@ -7,6 +7,7 @@ import java.net.Socket; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; import java.util.regex.Pattern; public class sigServer { @@ -26,7 +27,18 @@ public class sigServer { //This is valid. if (splitter[0].equals("GET")) { //This is a GET request. if (splitter[2].equals("HTTP/1.1")||splitter[2].equals("HTTP/2.0")) { - String requestloc = splitter[1]; + String[] requestSplit = splitter[1].split(Pattern.quote("?")); + String requestloc = requestSplit[0]; + HashMap requestParams = new HashMap<>(); + if (requestSplit.length>1) { + String[] params = requestSplit[1].split(Pattern.quote("&")); + for (String s : params) { + String key = s.substring(0,s.indexOf('=')); + String value = s.substring(s.indexOf('=')+1); + requestParams.put(key,value); + } + System.out.println(" ==Params for this request are: "+requestParams); + } if (requestloc.equals("/")) { //Send default directory. CreateRequest(client,"200","OK","testfile.html");