1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.http;
21
22 import org.apache.mina.core.filterchain.IoFilter;
23 import org.apache.mina.core.session.IoSession;
24 import org.apache.mina.filter.codec.ProtocolCodecFilter;
25 import org.apache.mina.filter.codec.ProtocolDecoder;
26 import org.apache.mina.filter.codec.ProtocolEncoder;
27
28 public class HttpClientCodec extends ProtocolCodecFilter {
29
30
31 private static final String DECODER_STATE_ATT = "http.ds";
32
33
34 private static final String PARTIAL_HEAD_ATT = "http.ph";
35
36 private static ProtocolEncoder encoder = new HttpClientEncoder();
37 private static ProtocolDecoder decoder = new HttpClientDecoder();
38
39 public HttpClientCodec() {
40 super(encoder, decoder);
41 }
42
43 @Override
44 public void sessionClosed(IoFilter.NextFilter nextFilter, IoSession session) throws Exception {
45 super.sessionClosed(nextFilter, session);
46 session.removeAttribute(DECODER_STATE_ATT);
47 session.removeAttribute(PARTIAL_HEAD_ATT);
48 }
49
50 }