1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.http.conn.scheme;
29
30 import java.io.IOException;
31 import java.net.InetAddress;
32 import java.net.InetSocketAddress;
33 import java.net.Socket;
34 import java.net.UnknownHostException;
35
36 import org.apache.http.conn.ConnectTimeoutException;
37 import org.apache.http.params.BasicHttpParams;
38 import org.apache.http.params.HttpParams;
39
40
41
42
43 @Deprecated
44 class SocketFactoryAdaptor implements SocketFactory {
45
46 private final SchemeSocketFactory factory;
47
48 SocketFactoryAdaptor(final SchemeSocketFactory factory) {
49 super();
50 this.factory = factory;
51 }
52
53 public Socket createSocket() throws IOException {
54 HttpParams params = new BasicHttpParams();
55 return this.factory.createSocket(params);
56 }
57
58 public Socket connectSocket(
59 final Socket socket,
60 final String host, int port,
61 final InetAddress localAddress, int localPort,
62 final HttpParams params) throws IOException, UnknownHostException, ConnectTimeoutException {
63 InetSocketAddress local = null;
64 if (localAddress != null || localPort > 0) {
65
66 if (localPort < 0) {
67 localPort = 0;
68 }
69 local = new InetSocketAddress(localAddress, localPort);
70 }
71 InetAddress remoteAddress = InetAddress.getByName(host);
72 InetSocketAddress remote = new InetSocketAddress(remoteAddress, port);
73 return this.factory.connectSocket(socket, remote, local, params);
74 }
75
76 public boolean isSecure(final Socket socket) throws IllegalArgumentException {
77 return this.factory.isSecure(socket);
78 }
79
80 public SchemeSocketFactory getFactory() {
81 return this.factory;
82 }
83
84 @Override
85 public boolean equals(final Object obj) {
86 if (obj == null) return false;
87 if (this == obj) return true;
88 if (obj instanceof SocketFactoryAdaptor) {
89 return this.factory.equals(((SocketFactoryAdaptor)obj).factory);
90 } else {
91 return this.factory.equals(obj);
92 }
93 }
94
95 @Override
96 public int hashCode() {
97 return this.factory.hashCode();
98 }
99
100 }