Mercurial Hosting > luan
annotate src/goodjava/webserver/Request.java @ 2013:0f14207596b3
swing
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Sun, 14 Sep 2025 18:04:00 -0600 | 
| parents | a02a75e3daa8 | 
| children | 
| rev | line source | 
|---|---|
| 1402 
27efb1fcbcb5
move luan.lib to goodjava
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1371diff
changeset | 1 package goodjava.webserver; | 
| 1137 | 2 | 
| 3 import java.util.Map; | |
| 4 import java.util.LinkedHashMap; | |
| 5 import java.util.Collections; | |
| 1607 | 6 import goodjava.util.CaseInsensitiveMap; | 
| 1137 | 7 | 
| 8 | |
| 9 public class Request { | |
| 10 public volatile String rawHead; | |
| 11 public volatile String method; | |
| 1143 
3bf5190b3c77
webserver - handle GET params
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1137diff
changeset | 12 public volatile String rawPath; | 
| 1371 
4c5548a61d4f
add Request.originalPath
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1347diff
changeset | 13 public volatile String originalPath; | 
| 1137 | 14 public volatile String path; | 
| 15 public volatile String protocol; // only HTTP/1.1 is accepted | |
| 1237 | 16 public volatile String scheme; | 
| 1607 | 17 public final Map<String,Object> headers = Collections.synchronizedMap(new CaseInsensitiveMap<Object>(new LinkedHashMap<String,CaseInsensitiveMap.Value<Object>>())); | 
| 1137 | 18 public final Map<String,Object> parameters = Collections.synchronizedMap(new LinkedHashMap<String,Object>()); | 
| 1146 
2dda3c92a473
webserver - implement cookies
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1144diff
changeset | 19 public final Map<String,String> cookies = Collections.synchronizedMap(new LinkedHashMap<String,String>()); | 
| 1147 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 20 public volatile byte[] body; | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 21 | 
| 1736 
a02a75e3daa8
webserver error handling
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1607diff
changeset | 22 public String url() { | 
| 
a02a75e3daa8
webserver error handling
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1607diff
changeset | 23 return scheme + "://" + headers.get("Host") + rawPath; | 
| 
a02a75e3daa8
webserver error handling
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1607diff
changeset | 24 } | 
| 
a02a75e3daa8
webserver error handling
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1607diff
changeset | 25 | 
| 1147 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 26 public static final class MultipartFile { | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 27 public final String filename; | 
| 1259 
e8020216dee7
add Luan.to_luan and fix multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1237diff
changeset | 28 public final String contentType; | 
| 1147 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 29 public final Object content; // byte[] or String | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 30 | 
| 1274 
383f924dfe9d
support multipart files in http request
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1259diff
changeset | 31 public MultipartFile(String filename,String contentType,Object content) { | 
| 1147 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 32 this.filename = filename; | 
| 1259 
e8020216dee7
add Luan.to_luan and fix multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1237diff
changeset | 33 this.contentType = contentType; | 
| 1147 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 34 this.content = content; | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 35 } | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 36 | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 37 public String toString() { | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 38 return "{filename="+filename+", content="+content+"}"; | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 39 } | 
| 
30d87b7d1d62
webserver - support multipart/form-data
 Franklin Schmidt <fschmidt@gmail.com> parents: 
1146diff
changeset | 40 } | 
| 1137 | 41 } | 
