Mercurial Hosting > luan
comparison src/goodjava/webserver/Response.java @ 1607:fa066aaa068c
nginx caching
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Fri, 30 Apr 2021 20:23:28 -0600 |
| parents | ef9d96aeb541 |
| children | bba3e529e346 |
comparison
equal
deleted
inserted
replaced
| 1606:7c7f28c724e8 | 1607:fa066aaa068c |
|---|---|
| 4 import java.io.PrintWriter; | 4 import java.io.PrintWriter; |
| 5 import java.util.Map; | 5 import java.util.Map; |
| 6 import java.util.LinkedHashMap; | 6 import java.util.LinkedHashMap; |
| 7 import java.util.Collections; | 7 import java.util.Collections; |
| 8 import java.util.List; | 8 import java.util.List; |
| 9 import goodjava.util.CaseInsensitiveMap; | |
| 9 | 10 |
| 10 | 11 |
| 11 public class Response { | 12 public class Response { |
| 12 public final String protocol = "HTTP/1.1"; | 13 public final String protocol = "HTTP/1.1"; |
| 13 public volatile Status status = Status.OK; | 14 public volatile Status status = Status.OK; |
| 14 public final Map<String,Object> headers = Collections.synchronizedMap(new LinkedHashMap<String,Object>()); | 15 public final Map<String,Object> headers = Collections.synchronizedMap(new CaseInsensitiveMap<Object>(new LinkedHashMap<String,CaseInsensitiveMap.Value<Object>>())); |
| 15 { | 16 { |
| 16 headers.put("server","goodjava"); | 17 headers.put("Server","goodjava"); |
| 17 } | 18 } |
| 18 private static final Body empty = new Body(0,new InputStream(){ | 19 private static final Body empty = new Body(0,new InputStream(){ |
| 19 public int read() { return -1; } | 20 public int read() { return -1; } |
| 20 }); | 21 }); |
| 21 public volatile Body body = empty; | 22 public volatile Body body = empty; |
| 74 | 75 |
| 75 | 76 |
| 76 public static Response errorResponse(Status status,String text) { | 77 public static Response errorResponse(Status status,String text) { |
| 77 Response response = new Response(); | 78 Response response = new Response(); |
| 78 response.status = status; | 79 response.status = status; |
| 79 response.headers.put( "content-type", "text/plain; charset=utf-8" ); | 80 response.headers.put( "Content-Type", "text/plain; charset=utf-8" ); |
| 80 PrintWriter writer = new PrintWriter( new ResponseOutputStream(response) ); | 81 PrintWriter writer = new PrintWriter( new ResponseOutputStream(response) ); |
| 81 writer.write( text ); | 82 writer.write( text ); |
| 82 writer.close(); | 83 writer.close(); |
| 83 return response; | 84 return response; |
| 84 } | 85 } |
