X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fdolda%2Fjsvc%2Fj2ee%2FJ2eeRequest.java;h=574355fddd0043064d2f5bcbdf071c40c0f3dc98;hb=5027c00aa2240518bc76c9db24ecdc27019cc72e;hp=f3946536d7f7fe3e9d96a5dd9edf14300cac94a2;hpb=433ee7759d4bc5a22e0cf4a98b36554a508f25c3;p=jsvc.git diff --git a/src/dolda/jsvc/j2ee/J2eeRequest.java b/src/dolda/jsvc/j2ee/J2eeRequest.java index f394653..574355f 100644 --- a/src/dolda/jsvc/j2ee/J2eeRequest.java +++ b/src/dolda/jsvc/j2ee/J2eeRequest.java @@ -13,8 +13,9 @@ public class J2eeRequest extends ResponseBuffer { private HttpServletRequest req; private HttpServletResponse resp; private String method, path; - private URL url; - private Map props = new HashMap(); + private URL url, context; + private MultiMap params = null; + private Map props = new HashMap(); public J2eeRequest(ServletConfig cfg, HttpServletRequest req, HttpServletResponse resp) { this.cfg = cfg; @@ -59,6 +60,7 @@ public class J2eeRequest extends ResponseBuffer { q = ""; try { url = new URL(scheme, host, port, req.getContextPath() + req.getServletPath() + pi + q); + context = new URL(scheme, host, port, req.getContextPath()); } catch(MalformedURLException e) { throw(new Error(e)); } @@ -69,14 +71,10 @@ public class J2eeRequest extends ResponseBuffer { path = path.substring(1); } - public Map props() { + public Map props() { return(props); } - public ServerContext ctx() { - return(new J2eeContext(cfg, req, resp)); - } - public SocketAddress remoteaddr() { try { return(new InetSocketAddress(InetAddress.getByName(req.getRemoteAddr()), req.getRemotePort())); @@ -101,6 +99,14 @@ public class J2eeRequest extends ResponseBuffer { return(url); } + public URL rooturl() { + return(context); + } + + public ServerContext ctx() { + return(ThreadContext.current().server()); + } + public String method() { return(method); } @@ -139,7 +145,15 @@ public class J2eeRequest extends ResponseBuffer { } public MultiMap params() { - return(null); + if(params == null) { + params = Params.urlparams(this); + if(method == "POST") { + MultiMap pp = Params.postparams(this); + if(pp != null) + params.putAll(pp); + } + } + return(params); } protected void backflush() {