File tree Expand file tree Collapse file tree 6 files changed +41
-4
lines changed
src/main/java/com/cae/http_client Expand file tree Collapse file tree 6 files changed +41
-4
lines changed Original file line number Diff line number Diff line change 8
8
<url >https://github.com/clean-arch-enablers-project/cae-utils-http-client/blob/main/README.md</url >
9
9
<groupId >com.clean-arch-enablers</groupId >
10
10
<artifactId >cae-http-client</artifactId >
11
- <version >2.1 .0</version >
11
+ <version >2.2 .0</version >
12
12
<packaging >jar</packaging >
13
13
<licenses >
14
14
<license >
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ public interface HttpRequestBuilder extends HttpRequestBuilderForHandlers{
8
8
HttpRequestBuilder queryParameterOf (String queryParameterName , String queryParameterValue );
9
9
HttpRequestBuilder proxyAddress (String host , Integer port );
10
10
HttpRequestBuilder bypassSsl ();
11
+ HttpRequestBuilder bypassDomainCheck ();
11
12
HttpRequestModel buildRequestModel ();
12
13
13
14
}
Original file line number Diff line number Diff line change 1
1
package com .cae .http_client .implementations ;
2
2
3
- import com .cae .http_client .*;
3
+ import com .cae .http_client .ExceptionHandler ;
4
+ import com .cae .http_client .HttpRequestMethod ;
5
+ import com .cae .http_client .HttpRequestModel ;
6
+ import com .cae .http_client .HttpResponseHandler ;
4
7
5
8
import java .net .http .HttpRequest .BodyPublisher ;
6
9
import java .util .ArrayList ;
@@ -18,6 +21,7 @@ public abstract class AbstractHttpRequestModel implements HttpRequestModel {
18
21
protected HttpRequestMethod method ;
19
22
protected ProxyAddressModel proxyAddress ;
20
23
protected Boolean bypassSsl = false ;
24
+ protected Boolean bypassDomainCheck = false ;
21
25
protected HttpResponseHandler genericResponseHandler ;
22
26
protected final Map <Integer , HttpResponseHandler > responseHandlersByStatusCode = new HashMap <>();
23
27
protected final Map <Class <? extends Exception >, ExceptionHandler > exceptionHandlersByExceptionType = new HashMap <>();
Original file line number Diff line number Diff line change
1
+ package com .cae .http_client .implementations ;
2
+
3
+ import lombok .AccessLevel ;
4
+ import lombok .NoArgsConstructor ;
5
+
6
+ import javax .net .ssl .SSLParameters ;
7
+
8
+ @ NoArgsConstructor (access = AccessLevel .PRIVATE )
9
+ public class DomainCheckBypass {
10
+
11
+ public static void run (SSLParameters sslParameters ){
12
+ sslParameters .setEndpointIdentificationAlgorithm ("" );
13
+ }
14
+
15
+ }
Original file line number Diff line number Diff line change 5
5
import lombok .AccessLevel ;
6
6
import lombok .NoArgsConstructor ;
7
7
8
+ import javax .net .ssl .SSLParameters ;
8
9
import java .io .IOException ;
9
10
import java .net .InetSocketAddress ;
10
11
import java .net .ProxySelector ;
@@ -38,7 +39,8 @@ public HttpResponse<String> execute(HttpRequest finalRequest){
38
39
private HttpClient createClient () {
39
40
var client = HttpClient .newBuilder ();
40
41
this .handleProxySettings (client );
41
- this .handleSslByPass (client );
42
+ this .handleSslBypass (client );
43
+ this .handleDomainCheckBypass (client );
42
44
return client .build ();
43
45
}
44
46
@@ -55,9 +57,18 @@ private void handleProxySettings(HttpClient.Builder client) {
55
57
);
56
58
}
57
59
58
- private void handleSslByPass (HttpClient .Builder client ) {
60
+ private void handleSslBypass (HttpClient .Builder client ) {
59
61
if (this .httpRequestModel .bypassSsl )
60
62
client .sslContext (SSLBypassSettings .getContext ());
61
63
}
62
64
65
+ private void handleDomainCheckBypass (HttpClient .Builder client ) {
66
+ if (this .httpRequestModel .bypassDomainCheck ){
67
+ var sslParameters = new SSLParameters ();
68
+ DomainCheckBypass .run (sslParameters );
69
+ client .sslParameters (sslParameters );
70
+ }
71
+ }
72
+
73
+
63
74
}
Original file line number Diff line number Diff line change @@ -49,6 +49,12 @@ public HttpRequestBuilder bypassSsl() {
49
49
return this ;
50
50
}
51
51
52
+ @ Override
53
+ public HttpRequestBuilder bypassDomainCheck () {
54
+ this .httpRequest .bypassDomainCheck = true ;
55
+ return this ;
56
+ }
57
+
52
58
@ Override
53
59
public HttpRequestModel buildRequestModel () {
54
60
return this .httpRequest ;
You can’t perform that action at this time.
0 commit comments