comparison src/goodjava/webserver/Response.java @ 2008:bba3e529e346 default tip

chunked encoding
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 27 Aug 2025 01:14:17 -0600
parents fa066aaa068c
children
comparison
equal deleted inserted replaced
2007:408f7dd7e503 2008:bba3e529e346
14 public volatile Status status = Status.OK; 14 public volatile Status status = Status.OK;
15 public final Map<String,Object> headers = Collections.synchronizedMap(new CaseInsensitiveMap<Object>(new LinkedHashMap<String,CaseInsensitiveMap.Value<Object>>())); 15 public final Map<String,Object> headers = Collections.synchronizedMap(new CaseInsensitiveMap<Object>(new LinkedHashMap<String,CaseInsensitiveMap.Value<Object>>()));
16 { 16 {
17 headers.put("Server","goodjava"); 17 headers.put("Server","goodjava");
18 } 18 }
19 private static final Body empty = new Body(0,new InputStream(){ 19 private final InputStream empty = new InputStream() {
20 public int read() { return -1; } 20 @Override public int read() {
21 }); 21 return -1;
22 public volatile Body body = empty;
23
24 public static class Body {
25 public final long length;
26 public final InputStream content;
27
28 public Body(long length,InputStream content) {
29 this.length = length;
30 this.content = content;
31 } 22 }
32 } 23 @Override public void close() {
24 headers.put("Content-Length","0");
25 }
26 };
27 public volatile InputStream body = empty;
33 28
34 29
35 public void addHeader(String name,String value) { 30 public void addHeader(String name,String value) {
36 Util.add(headers,name,value); 31 Util.add(headers,name,value);
37 } 32 }