View Javadoc

1   package ch.qos.logback.access.jetty;
2   
3   import java.util.Enumeration;
4   import java.util.HashMap;
5   import java.util.Map;
6   
7   import org.mortbay.jetty.HttpFields;
8   import org.mortbay.jetty.Request;
9   import org.mortbay.jetty.Response;
10  
11  import ch.qos.logback.access.spi.ServerAdapter;
12  
13  /**
14   * A jetty specific implementation of the {@link ServerAdapter} interface.
15   * 
16   * @author Sébastien Pennec
17   * @author Ceki Gulcu
18   */
19  public class JettyServerAdapter implements ServerAdapter {
20  
21    Request request;
22    Response response;
23    
24    public JettyServerAdapter(Request jettyRequest, Response jettyResponse) {
25      this.request = jettyRequest;
26      this.response = jettyResponse;
27    }
28  
29    public long getContentLength() {
30      return response.getContentCount();
31    }
32  
33    public int getStatusCode() {
34      return response.getStatus();
35    }
36  
37    public Map<String, String> buildResponseHeaderMap() {
38      Map<String, String> responseHeaderMap = new HashMap<String, String>();
39      HttpFields httpFields = response.getHttpFields();
40      Enumeration e = httpFields.getFieldNames();
41      while (e.hasMoreElements()) {
42        String key = (String) e.nextElement();
43        String value = response.getHeader(key);
44        responseHeaderMap.put(key, value);
45      }
46      return responseHeaderMap;
47    }
48    
49  }