1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mortbay.jetty.client;
17
18 import java.io.IOException;
19
20 import org.mortbay.io.Buffer;
21
22 public class HttpEventListenerWrapper implements HttpEventListener
23 {
24 HttpEventListener _listener;
25 boolean _delegatingRequests;
26 boolean _delegatingResponses;
27 boolean _delegationResult = true;
28 private Buffer _version;
29 private int _status;
30 private Buffer _reason;
31
32 public HttpEventListenerWrapper()
33 {
34 _listener=null;
35 _delegatingRequests=false;
36 _delegatingResponses=false;
37 }
38
39 public HttpEventListenerWrapper(HttpEventListener eventListener,boolean delegating)
40 {
41 _listener=eventListener;
42 _delegatingRequests=delegating;
43 _delegatingResponses=delegating;
44 }
45
46 public void setDelegationResult( boolean result )
47 {
48 _delegationResult = result;
49 }
50
51 public HttpEventListener getEventListener()
52 {
53 return _listener;
54 }
55
56 public void setEventListener(HttpEventListener listener)
57 {
58 _listener = listener;
59 }
60
61 public boolean isDelegatingRequests()
62 {
63 return _delegatingRequests;
64 }
65
66 public boolean isDelegatingResponses()
67 {
68 return _delegatingResponses;
69 }
70
71 public void setDelegatingRequests(boolean delegating)
72 {
73 _delegatingRequests = delegating;
74 }
75
76 public void setDelegatingResponses(boolean delegating)
77 {
78 _delegatingResponses = delegating;
79 }
80
81 public void onConnectionFailed(Throwable ex)
82 {
83 if (_delegatingRequests)
84 _listener.onConnectionFailed(ex);
85 }
86
87 public void onException(Throwable ex)
88 {
89 if (_delegatingRequests||_delegatingResponses)
90 _listener.onException(ex);
91 }
92
93 public void onExpire()
94 {
95 if (_delegatingRequests||_delegatingResponses)
96 _listener.onExpire();
97 }
98
99 public void onRequestCommitted() throws IOException
100 {
101 if (_delegatingRequests)
102 _listener.onRequestCommitted();
103 }
104
105 public void onRequestComplete() throws IOException
106 {
107 if (_delegatingRequests)
108 _listener.onRequestComplete();
109 }
110
111 public void onResponseComplete() throws IOException
112 {
113 if (_delegatingResponses)
114 {
115 if (_delegationResult == false)
116 {
117 _listener.onResponseStatus(_version, _status, _reason);
118 }
119 _listener.onResponseComplete();
120 }
121 }
122
123 public void onResponseContent(Buffer content) throws IOException
124 {
125 if (_delegatingResponses)
126 _listener.onResponseContent(content);
127 }
128
129 public void onResponseHeader(Buffer name, Buffer value) throws IOException
130 {
131 if (_delegatingResponses)
132 _listener.onResponseHeader(name,value);
133 }
134
135 public void onResponseHeaderComplete() throws IOException
136 {
137 if (_delegatingResponses)
138 _listener.onResponseHeaderComplete();
139 }
140
141 public void onResponseStatus(Buffer version, int status, Buffer reason) throws IOException
142 {
143 if (_delegatingResponses)
144 {
145 _listener.onResponseStatus(version,status,reason);
146 }
147 else
148 {
149 _version = version;
150 _status = status;
151 _reason = reason;
152 }
153 }
154
155 public void onRetry()
156 {
157 if (_delegatingRequests)
158 _listener.onRetry();
159 }
160
161
162
163 }