|
|
|
@ -23,38 +23,40 @@ public class sigServer { |
|
|
|
|
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); |
|
|
|
|
String line; |
|
|
|
|
line=in.readLine(); //Read the first line, this should be our request.
|
|
|
|
|
String[] splitter = line.split(Pattern.quote(" ")); |
|
|
|
|
if (splitter.length==3) { |
|
|
|
|
//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[] requestSplit = splitter[1].split(Pattern.quote("?")); |
|
|
|
|
String requestloc = requestSplit[0]; |
|
|
|
|
HashMap<String,String> 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); |
|
|
|
|
if (line!=null) { |
|
|
|
|
String[] splitter = line.split(Pattern.quote(" ")); |
|
|
|
|
if (splitter.length==3) { |
|
|
|
|
//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[] requestSplit = splitter[1].split(Pattern.quote("?")); |
|
|
|
|
String requestloc = requestSplit[0]; |
|
|
|
|
HashMap<String,String> 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"); |
|
|
|
|
} else { |
|
|
|
|
CreateRequest(client,"200","OK",requestloc.replace("/","")); |
|
|
|
|
} |
|
|
|
|
System.out.println(" ==Params for this request are: "+requestParams); |
|
|
|
|
} |
|
|
|
|
if (requestloc.equals("/")) { |
|
|
|
|
//Send default directory.
|
|
|
|
|
CreateRequest(client,"200","OK","testfile.html"); |
|
|
|
|
} else { |
|
|
|
|
CreateRequest(client,"200","OK",requestloc.replace("/","")); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
CreateRequest(client,"501","Not Implemented","testfile.html"); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
CreateRequest(client,"501","Not Implemented","testfile.html"); |
|
|
|
|
} |
|
|
|
|
while (!(line=in.readLine()).isBlank()) { |
|
|
|
|
//System.out.println(line);
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
while (!(line=in.readLine()).isBlank()) { |
|
|
|
|
//System.out.println(line);
|
|
|
|
|
} |
|
|
|
|
} catch(SocketException e) { |
|
|
|
|
} catch(SocketException|NullPointerException e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|