Implement a basic HTTP request processor

This commit is contained in:
Nick Chambers 2024-04-15 01:02:10 -05:00
parent 20fe3e8ee1
commit da330a4e87
1 changed files with 14 additions and 1 deletions

View File

@ -1,15 +1,28 @@
package com.spookyinternet.cobweb; package com.spookyinternet.cobweb;
import java.io.*; import java.io.*;
import java.util.*;
public class HttpRequest { public class HttpRequest {
public String method;
public String path;
public Map<String, String> headers;
public String[] params; public String[] params;
public HttpRequest(BufferedReader reader) { public HttpRequest(BufferedReader reader) {
HttpTokenStream tokens = new HttpTokenStream(reader); HttpTokenStream tokens = new HttpTokenStream(reader);
boolean processed = false;
while(tokens.hasNext()) { while(tokens.hasNext() && !processed) {
HttpToken token = tokens.next(); HttpToken token = tokens.next();
if(token.line == 1 && token.sol) {
this.method = token.value.toLowerCase();
} else if(token.line == 1 && token.seq == 3) {
this.path = token.value;
}
processed = token.value == "\r\n" && token.complete();
} }
} }
} }