Commit | Line | Data |
---|---|---|
79d2dd64 FT |
1 | package dolda.jsvc; |
2 | ||
3 | import java.io.*; | |
4 | import java.net.URL; | |
5 | import java.net.SocketAddress; | |
6 | import java.util.Map; | |
7 | ||
8 | public class RequestWrap implements Request { | |
9 | private final Request bk; | |
10 | ||
11 | public RequestWrap(Request req) { | |
12 | this.bk = req; | |
13 | } | |
14 | ||
15 | public URL url() {return(bk.url());} | |
4b8346e1 | 16 | public URL rooturl() {return(bk.rooturl());} |
79d2dd64 FT |
17 | public String method() {return(bk.method());} |
18 | public String path() {return(bk.path());} | |
19 | public InputStream input() {return(bk.input());} | |
20 | public MultiMap<String, String> inheaders() {return(bk.inheaders());} | |
21 | public MultiMap<String, String> params() {return(bk.params());} | |
22 | public OutputStream output() {return(bk.output());} | |
23 | public void status(int code) {bk.status(code);} | |
24 | public void status(int code, String message) {bk.status(code, message);} | |
25 | public MultiMap<String, String> outheaders() {return(bk.outheaders());} | |
79d2dd64 FT |
26 | public ServerContext ctx() {return(bk.ctx());} |
27 | public SocketAddress remoteaddr() {return(bk.remoteaddr());} | |
28 | public SocketAddress localaddr() {return(bk.localaddr());} | |
29 | ||
30 | public Request orig() { | |
31 | return(bk); | |
32 | } | |
33 | ||
34 | public static Request chpath(Request req, String path) { | |
35 | class PathWrap extends RequestWrap { | |
36 | private final String path; | |
37 | ||
38 | public PathWrap(Request req, String path) { | |
39 | super(req); | |
40 | this.path = path; | |
41 | } | |
42 | ||
43 | public String path() { | |
44 | return(path); | |
45 | } | |
46 | } | |
47 | if(req instanceof PathWrap) | |
48 | return(new PathWrap(((PathWrap)req).orig(), path)); | |
49 | return(new PathWrap(req, path)); | |
50 | } | |
51 | } |