1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.access.jetty;
15
16 import java.util.HashMap;
17 import java.util.Iterator;
18 import java.util.Map;
19
20 import ch.qos.logback.access.common.spi.ServerAdapter;
21 import org.eclipse.jetty.http.HttpField;
22 import org.eclipse.jetty.http.HttpFields;
23 import org.eclipse.jetty.server.Request;
24 import org.eclipse.jetty.server.Response;
25
26
27
28
29
30
31
32
33 public class JettyModernServerAdapter extends JettyServerAdapter {
34
35
36 public JettyModernServerAdapter(Request jettyRequest, Response jettyResponse) {
37 super(jettyRequest, jettyResponse);
38 }
39
40 @Override
41 public long getContentLength() {
42
43 return Response.getContentBytesWritten(response);
44
45 }
46
47 @Override
48 public int getStatusCode() {
49 return response.getStatus();
50
51 }
52
53 @Override
54 public long getRequestTimestamp() {
55 return Request.getTimeStamp(request);
56 }
57
58 @Override
59 public Map<String, String> buildResponseHeaderMap() {
60 Map<String, String> responseHeaderMap = new HashMap<>();
61 HttpFields.Mutable httpFields = response.getHeaders();
62
63 for(HttpField field: httpFields) {
64 String key = field.getName();
65 String value = field.getValue();
66 responseHeaderMap.put(key, value);
67 }
68
69 return responseHeaderMap;
70 }
71
72 }