Skip to content

Commit 56da156

Browse files
the unix domain socket test success
1 parent 9d4135f commit 56da156

File tree

14 files changed

+18
-30
lines changed

14 files changed

+18
-30
lines changed

client/src/main/java/org/asynchttpclient/AsyncHandler.java

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.asynchttpclient.netty.request.NettyRequest;
2121

2222
import javax.net.ssl.SSLSession;
23-
import java.net.InetSocketAddress;
2423
import java.net.SocketAddress;
2524
import java.util.List;
2625

client/src/main/java/org/asynchttpclient/Request.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public interface Request {
6464
String getUrl();
6565

6666
/**
67-
* @return the InetAddress to be used to bypass uri's hostname resolution
67+
* @return the SocketAddress to be used to bypass uri's hostname or unix domain path resolution
6868
*/
6969
SocketAddress getAddress();
7070

client/src/main/java/org/asynchttpclient/RequestBuilderBase.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -167,16 +167,17 @@ public T setAddress(InetAddress address) {
167167
return asDerivedType();
168168
}
169169

170-
public T setLocalAddress(InetAddress address) {
171-
this.localAddress = new InetSocketAddress(address,0);
170+
public T setAddress(SocketAddress address) {
171+
this.address = address;
172172
return asDerivedType();
173173
}
174-
public T setDomainAddress(DomainSocketAddress address) {
175-
this.address = address;
174+
175+
public T setLocalAddress(InetAddress address) {
176+
this.localAddress = new InetSocketAddress(address,0);
176177
return asDerivedType();
177178
}
178179

179-
public T setDomainLocalAddress(DomainSocketAddress address) {
180+
public T setLocalAddress(SocketAddress address) {
180181
this.localAddress = address;
181182
return asDerivedType();
182183
}

client/src/main/java/org/asynchttpclient/channel/DefaultKeepAliveStrategy.java

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import io.netty.handler.codec.http.HttpUtil;
66
import org.asynchttpclient.Request;
77

8-
import java.net.InetSocketAddress;
98
import java.net.SocketAddress;
109

1110
import static io.netty.handler.codec.http.HttpHeaderValues.CLOSE;

client/src/main/java/org/asynchttpclient/channel/KeepAliveStrategy.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@
1717
import io.netty.handler.codec.http.HttpResponse;
1818
import org.asynchttpclient.Request;
1919

20-
import java.net.InetSocketAddress;
2120
import java.net.SocketAddress;
2221

2322
public interface KeepAliveStrategy {
2423

2524
/**
2625
* Determines whether the connection should be kept alive after this HTTP message exchange.
2726
*
28-
* @param remoteAddress the remote InetSocketAddress associated with the request
27+
* @param remoteAddress the remote SocketAddress associated with the request
2928
* @param ahcRequest the Request, as built by AHC
3029
* @param nettyRequest the HTTP request sent to Netty
3130
* @param nettyResponse the HTTP response received from Netty

client/src/main/java/org/asynchttpclient/netty/channel/NettyChannelConnector.java

-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
import org.slf4j.Logger;
2121
import org.slf4j.LoggerFactory;
2222

23-
import java.net.InetAddress;
24-
import java.net.InetSocketAddress;
2523
import java.net.SocketAddress;
2624
import java.util.List;
2725
import java.util.concurrent.RejectedExecutionException;

client/src/main/java/org/asynchttpclient/netty/channel/NettyConnectListener.java

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.slf4j.LoggerFactory;
3030

3131
import java.net.ConnectException;
32-
import java.net.InetSocketAddress;
3332
import java.net.SocketAddress;
3433

3534
/**

client/src/main/java/org/asynchttpclient/netty/handler/HttpHandler.java

-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.asynchttpclient.netty.request.NettyRequestSender;
3131

3232
import java.io.IOException;
33-
import java.net.InetSocketAddress;
3433

3534
@Sharable
3635
public final class HttpHandler extends AsyncHttpClientHandler {

client/src/main/java/org/asynchttpclient/netty/handler/intercept/Redirect30xInterceptor.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@
3232
import org.slf4j.Logger;
3333
import org.slf4j.LoggerFactory;
3434

35-
import java.net.InetAddress;
36-
import java.net.InetSocketAddress;
37-
import java.net.SocketAddress;
3835
import java.util.HashSet;
3936
import java.util.List;
4037
import java.util.Set;
@@ -93,11 +90,10 @@ public boolean exitAfterHandlingRedirect(Channel channel,
9390
&& (statusCode == MOVED_PERMANENTLY_301 || statusCode == SEE_OTHER_303 || (statusCode == FOUND_302 && !config.isStrict302Handling()));
9491
boolean keepBody = statusCode == TEMPORARY_REDIRECT_307 || statusCode == PERMANENT_REDIRECT_308 || (statusCode == FOUND_302 && config.isStrict302Handling());
9592

96-
InetSocketAddress localAddress = (InetSocketAddress) request.getLocalAddress();
9793
final RequestBuilder requestBuilder = new RequestBuilder(switchToGet ? GET : originalMethod)
9894
.setChannelPoolPartitioning(request.getChannelPoolPartitioning())
9995
.setFollowRedirect(true)
100-
.setLocalAddress(localAddress.getAddress())
96+
.setLocalAddress(request.getLocalAddress())
10197
.setNameResolver(request.getNameResolver())
10298
.setDomainNameResolver(request.getDomainNameResolver())
10399
.setProxyServer(request.getProxyServer())

client/src/main/java/org/asynchttpclient/netty/request/NettyRequestSender.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import java.io.IOException;
4848
import java.net.InetSocketAddress;
4949
import java.net.SocketAddress;
50+
import java.util.Arrays;
5051
import java.util.List;
5152

5253
import static io.netty.handler.codec.http.HttpHeaderNames.EXPECT;
@@ -240,7 +241,7 @@ private <T> ListenableFuture<T> sendRequestWithOpenChannel(NettyResponseFuture<T
240241
SocketAddress channelRemoteAddress = channel.remoteAddress();
241242
if (channelRemoteAddress != null) {
242243
// otherwise, bad luck, the channel was closed, see bellow
243-
scheduleRequestTimeout(future, (InetSocketAddress) channelRemoteAddress);
244+
scheduleRequestTimeout(future, channelRemoteAddress);
244245
}
245246

246247
future.setChannelState(ChannelState.POOLED);
@@ -400,12 +401,15 @@ private <T> Future<List<DomainSocketAddress>> resolveDomainAddresses(Request req
400401
if (proxy != null ) {
401402
throw new IllegalArgumentException("Unix domain socket not support proxy");
402403
} else {
403-
404404
DomainSocketAddress socketAddress = new DomainSocketAddress(config.getUnixSocket());
405405
scheduleRequestTimeout(future, socketAddress);
406-
407-
if (request.getAddress() != null) {
408-
throw new IllegalArgumentException("Unix domain socket not support set address !");
406+
SocketAddress address = request.getAddress();
407+
if (address != null) {
408+
final Promise<List<DomainSocketAddress>> promise = ImmediateEventExecutor.INSTANCE.newPromise();
409+
if (!(address instanceof DomainSocketAddress)){
410+
throw new IllegalArgumentException("address must be instance of DomainSocketAddress");
411+
}
412+
return promise.setSuccess(singletonList((DomainSocketAddress) address));
409413
} else {
410414
return RequestHostnameResolver.INSTANCE.resolve(request.getDomainNameResolver(), socketAddress, asyncHandler);
411415
}

client/src/main/java/org/asynchttpclient/netty/timeout/TimeoutsHolder.java

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.asynchttpclient.netty.NettyResponseFuture;
2222
import org.asynchttpclient.netty.request.NettyRequestSender;
2323

24-
import java.net.InetSocketAddress;
2524
import java.net.SocketAddress;
2625
import java.util.concurrent.TimeUnit;
2726
import java.util.concurrent.atomic.AtomicBoolean;

client/src/test/java/org/asynchttpclient/test/EventCollectingHandler.java

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.testng.Assert;
2222

2323
import javax.net.ssl.SSLSession;
24-
import java.net.InetSocketAddress;
2524
import java.net.SocketAddress;
2625
import java.util.List;
2726
import java.util.Queue;

example/src/main/java/org/asynchttpclient/example/completable/CompletableFutures.java

-3
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,6 @@ public static void main(String[] args) throws IOException {
4848
.thenApply(Response::getResponseBody)
4949
.thenAccept(System.out::println)
5050
.join();
51-
}
52-
// support unix domain socket
53-
try (AsyncHttpClient asyncHttpClient = asyncHttpClient(config)) {
5451
asyncHttpClient
5552
.prepareGet("/hello/unix") // will add http:127.0.0.1:80
5653
.execute()

extras/rxjava2/src/main/java/org/asynchttpclient/extras/rxjava2/maybe/AbstractMaybeAsyncHandlerBridge.java

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.slf4j.LoggerFactory;
2828

2929
import javax.net.ssl.SSLSession;
30-
import java.net.InetSocketAddress;
3130
import java.net.SocketAddress;
3231
import java.util.Arrays;
3332
import java.util.List;

0 commit comments

Comments
 (0)