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 @Override
54 public Socket createSocket() throws IOException {
55 final HttpParams params = new BasicHttpParams();
56 return this.factory.createSocket(params);
57 }
58
59 @Override
60 public Socket connectSocket(
61 final Socket socket,
62 final String host, final int port,
63 final InetAddress localAddress, final int localPort,
64 final HttpParams params) throws IOException, UnknownHostException, ConnectTimeoutException {
65 InetSocketAddress local = null;
66 if (localAddress != null || localPort > 0) {
67 local = new InetSocketAddress(localAddress, localPort > 0 ? localPort : 0);
68 }
69 final InetAddress remoteAddress = InetAddress.getByName(host);
70 final InetSocketAddress remote = new InetSocketAddress(remoteAddress, port);
71 return this.factory.connectSocket(socket, remote, local, params);
72 }
73
74 @Override
75 public boolean isSecure(final Socket socket) throws IllegalArgumentException {
76 return this.factory.isSecure(socket);
77 }
78
79 public SchemeSocketFactory getFactory() {
80 return this.factory;
81 }
82
83 @Override
84 public boolean equals(final Object obj) {
85 if (obj == null) {
86 return false;
87 }
88 if (this == obj) {
89 return true;
90 }
91 return obj instanceof SocketFactoryAdaptor
92 ? this.factory.equals(((SocketFactoryAdaptor) obj).factory)
93 : this.factory.equals(obj);
94 }
95
96 @Override
97 public int hashCode() {
98 return this.factory.hashCode();
99 }
100
101 }