X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fjrw%2FRequest.java;h=9ea621ad501d6d5e13b9a8766c9a7cf330de8ab4;hb=HEAD;hp=abe71616789b591ddbe42c9ee641969a4a250c54;hpb=3e20c35c34d322ae53cf9feb005e6404f9cdc0a5;p=jrw.git diff --git a/src/jrw/Request.java b/src/jrw/Request.java index abe7161..9ea621a 100644 --- a/src/jrw/Request.java +++ b/src/jrw/Request.java @@ -5,11 +5,24 @@ import java.util.*; public class Request { public final Map env; public final Map resp = new HashMap<>(); + public String status = "200 OK"; + public Object body = null; public Request(Map env) { this.env = env; } + public String method() {return((String)env.get("REQUEST_METHOD"));} + public String remoteaddr() {return((String)env.get("REMOTE_ADDR"));} + public String serverport() {return((String)env.get("SERVER_PORT"));} + public String servername() {return((String)env.get("SERVER_NAME"));} + public String uri() {return((String)env.get("REQUEST_URI"));} + public String uriname() {return((String)env.get("SCRIPT_NAME"));} + public String filename() {return((String)env.get("SCRIPT_FILENAME"));} + public String pathinfo() {return((String)env.get("PATH_INFO"));} + public String query() {return((String)env.get("QUERY_STRING"));} + public boolean https() {return(env.containsKey("HTTPS"));} + public String ihead(String name, String def) { StringBuilder buf = new StringBuilder(); buf.append("HTTP_"); @@ -29,7 +42,7 @@ public class Request { } @SuppressWarnings("unchecked") - public void ohead(String name, Object val, boolean repl) { + public Request ohead(String name, Object val, boolean repl) { name = "http." + name; if(repl) { resp.put(name, val); @@ -42,9 +55,15 @@ public class Request { else resp.put(name, new ArrayList(Arrays.asList(cur, val))); } + return(this); } + public Request status(String status) {this.status = status; return(this);} + public Request body(Object body) {this.body = body; return(this);} + public Map response() { + resp.put("http.status", status); + resp.put("jagi.output", body); return(resp); } }