Mercurial Hosting > luan
annotate src/goodjava/webserver/Request.java @ 2021:b8e5d53c4fc9
admin monitors scheduler
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Mon, 20 Oct 2025 14:45:27 -0600 |
| parents | a02a75e3daa8 |
| children |
| rev | line source |
|---|---|
|
1402
27efb1fcbcb5
move luan.lib to goodjava
Franklin Schmidt <fschmidt@gmail.com>
parents:
1371
diff
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:
1137
diff
changeset
|
12 public volatile String rawPath; |
|
1371
4c5548a61d4f
add Request.originalPath
Franklin Schmidt <fschmidt@gmail.com>
parents:
1347
diff
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:
1144
diff
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:
1146
diff
changeset
|
20 public volatile byte[] body; |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
21 |
|
1736
a02a75e3daa8
webserver error handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1607
diff
changeset
|
22 public String url() { |
|
a02a75e3daa8
webserver error handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1607
diff
changeset
|
23 return scheme + "://" + headers.get("Host") + rawPath; |
|
a02a75e3daa8
webserver error handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1607
diff
changeset
|
24 } |
|
a02a75e3daa8
webserver error handling
Franklin Schmidt <fschmidt@gmail.com>
parents:
1607
diff
changeset
|
25 |
|
1147
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
26 public static final class MultipartFile { |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
27 public final String filename; |
|
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1237
diff
changeset
|
28 public final String contentType; |
|
1147
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
29 public final Object content; // byte[] or String |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
30 |
|
1274
383f924dfe9d
support multipart files in http request
Franklin Schmidt <fschmidt@gmail.com>
parents:
1259
diff
changeset
|
31 public MultipartFile(String filename,String contentType,Object content) { |
|
1147
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
32 this.filename = filename; |
|
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1237
diff
changeset
|
33 this.contentType = contentType; |
|
1147
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
34 this.content = content; |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
35 } |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
36 |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
37 public String toString() { |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
38 return "{filename="+filename+", content="+content+"}"; |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
39 } |
|
30d87b7d1d62
webserver - support multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1146
diff
changeset
|
40 } |
| 1137 | 41 } |
