1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.spdy.client.http;
20
21 import org.eclipse.jetty.client.HttpChannel;
22 import org.eclipse.jetty.client.HttpConnection;
23 import org.eclipse.jetty.client.HttpDestination;
24 import org.eclipse.jetty.client.HttpExchange;
25 import org.eclipse.jetty.spdy.api.GoAwayInfo;
26 import org.eclipse.jetty.spdy.api.Session;
27 import org.eclipse.jetty.util.Callback;
28
29 public class HttpConnectionOverSPDY extends HttpConnection
30 {
31 private final Session session;
32
33 public HttpConnectionOverSPDY(HttpDestination destination, Session session)
34 {
35 super(destination);
36 this.session = session;
37 }
38
39 @Override
40 protected void send(HttpExchange exchange)
41 {
42 normalizeRequest(exchange.getRequest());
43
44 HttpChannel channel = new HttpChannelOverSPDY(getHttpDestination(), session);
45 channel.associate(exchange);
46 channel.send();
47 }
48
49 @Override
50 public void close()
51 {
52 session.goAway(new GoAwayInfo(), new Callback.Adapter());
53 }
54 }