1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.websocket.jsr356;
20
21 import java.util.List;
22 import java.util.Map;
23
24 import javax.websocket.ClientEndpointConfig.Configurator;
25
26 import org.eclipse.jetty.websocket.api.UpgradeRequest;
27 import org.eclipse.jetty.websocket.api.UpgradeResponse;
28 import org.eclipse.jetty.websocket.client.io.UpgradeListener;
29
30 public class JsrUpgradeListener implements UpgradeListener
31 {
32 private Configurator configurator;
33
34 public JsrUpgradeListener(Configurator configurator)
35 {
36 this.configurator = configurator;
37 }
38
39 @Override
40 public void onHandshakeRequest(UpgradeRequest request)
41 {
42 if (configurator == null)
43 {
44 return;
45 }
46
47 Map<String, List<String>> headers = request.getHeaders();
48 configurator.beforeRequest(headers);
49 request.setHeaders(headers);
50 }
51
52 @Override
53 public void onHandshakeResponse(UpgradeResponse response)
54 {
55 if (configurator == null)
56 {
57 return;
58 }
59
60 JsrHandshakeResponse hr = new JsrHandshakeResponse(response);
61 configurator.afterResponse(hr);
62 }
63 }