diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index df0cd8a0f..b9b1153ae 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://maven-central.storage-download.googleapis.com/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip -wrapperUrl=https://maven-central.storage-download.googleapis.com/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar diff --git a/mvnw b/mvnw old mode 100644 new mode 100755 diff --git a/pom.xml b/pom.xml index f518b86ef..0d99bde4d 100644 --- a/pom.xml +++ b/pom.xml @@ -130,6 +130,14 @@ along with ShieldBlaze ExpressGateway. If not, see ${netty} + + + io.netty + netty-transport-native-epoll + ${netty} + linux-x86_64 + + io.netty @@ -262,10 +270,10 @@ along with ShieldBlaze ExpressGateway. If not, see lightsail - + com.squareup.okhttp3 - okhttp + okhttp-jvm 5.3.2 @@ -404,8 +412,8 @@ along with ShieldBlaze ExpressGateway. If not, see maven-compiler-plugin 3.15.0 - 17 - 17 + 21 + 21 diff --git a/service-discovery-client/src/main/java/com/shieldblaze/expressgateway/servicediscovery/client/ServiceDiscoveryClient.java b/service-discovery-client/src/main/java/com/shieldblaze/expressgateway/servicediscovery/client/ServiceDiscoveryClient.java index 2047fb87d..1c8927be7 100644 --- a/service-discovery-client/src/main/java/com/shieldblaze/expressgateway/servicediscovery/client/ServiceDiscoveryClient.java +++ b/service-discovery-client/src/main/java/com/shieldblaze/expressgateway/servicediscovery/client/ServiceDiscoveryClient.java @@ -68,6 +68,7 @@ public final class ServiceDiscoveryClient { false, serviceDiscovery.hostnameVerification(), serviceDiscovery.hostnameVerification(), + false, false )}; diff --git a/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/Handler.java b/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/Handler.java index 227c37317..362bf71f6 100644 --- a/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/Handler.java +++ b/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/Handler.java @@ -69,7 +69,7 @@ public ResponseEntity deregister(@RequestBody Node node) throws Exceptio } @GetMapping(value = "get", produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity get(@RequestParam String id) throws Exception { + public ResponseEntity get(@RequestParam("id") String id) throws Exception { ServiceInstance serviceInstance = serviceDiscovery.queryForInstance(SERVICE_NAME, id); ObjectNode objectNode = OBJECT_MAPPER.createObjectNode(); diff --git a/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/WebServerCustomizer.java b/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/WebServerCustomizer.java index 66c8233d8..9cd5645e1 100644 --- a/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/WebServerCustomizer.java +++ b/service-discovery-server/src/main/java/com/shieldblaze/expressgateway/servicediscovery/server/WebServerCustomizer.java @@ -23,8 +23,8 @@ import io.netty.handler.ssl.SslProvider; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.springframework.boot.web.embedded.netty.NettyReactiveWebServerFactory; -import org.springframework.boot.web.embedded.netty.NettyServerCustomizer; +import org.springframework.boot.reactor.netty.NettyReactiveWebServerFactory; +import org.springframework.boot.reactor.netty.NettyServerCustomizer; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Configuration; import reactor.netty.http.Http2SslContextSpec; diff --git a/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerHttpsTest.java b/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerHttpsTest.java index 74a0031e4..c71693780 100644 --- a/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerHttpsTest.java +++ b/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerHttpsTest.java @@ -28,15 +28,21 @@ import org.junit.jupiter.api.TestMethodOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpMethod; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; +import org.springframework.http.client.SimpleClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; import java.io.File; import java.io.IOException; import java.net.URI; +import java.security.cert.X509Certificate; import static org.assertj.core.api.Assertions.assertThat; @@ -55,7 +61,7 @@ class ServiceDiscoveryServerHttpsTest { System.setProperty("config.file", absolutePath); } - private final TestRestTemplate restTemplate = new TestRestTemplate(TestRestTemplate.HttpClientOption.SSL); + private final RestTemplate restTemplate = createTrustAllRestTemplate(); @LocalServerPort private int ServerPort; @@ -76,6 +82,25 @@ static void shutdown() throws IOException { } } + private static RestTemplate createTrustAllRestTemplate() { + try { + TrustManager[] trustAllCerts = new TrustManager[]{ + new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { return null; } + public void checkClientTrusted(X509Certificate[] certs, String authType) { } + public void checkServerTrusted(X509Certificate[] certs, String authType) { } + } + }; + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); + HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); + HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true); + return new RestTemplate(new SimpleClientHttpRequestFactory()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + @Order(1) @Test public void loadHandlerTest() { @@ -89,7 +114,7 @@ public void registerServiceValidateSuccessful() { ResponseEntity response = restTemplate.exchange(request, String.class); assertThat(response.getBody()).isNotNull(); - assertThat(response.getStatusCodeValue()).isEqualTo(200); + assertThat(response.getStatusCode().value()).isEqualTo(200); } @Order(3) @@ -117,6 +142,6 @@ public void deregisterServiceAndValidateSuccessful() { ResponseEntity response = restTemplate.exchange(request, String.class); assertThat(response.getBody()).isNotNull(); - assertThat(response.getStatusCodeValue()).isEqualTo(200); + assertThat(response.getStatusCode().value()).isEqualTo(200); } } diff --git a/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerTest.java b/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerTest.java index 8a9281460..82a40ab64 100644 --- a/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerTest.java +++ b/service-discovery-server/src/test/java/com/shieldblaze/expressgateway/servicediscovery/server/ServiceDiscoveryServerTest.java @@ -28,11 +28,11 @@ import org.junit.jupiter.api.TestMethodOrder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpMethod; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; import java.io.File; import java.io.IOException; @@ -55,7 +55,7 @@ class ServiceDiscoveryServerTest { System.setProperty("config.file", absolutePath); } - private final TestRestTemplate restTemplate = new TestRestTemplate(); + private final RestTemplate restTemplate = new RestTemplate(); @LocalServerPort private int ServerPort; @@ -89,7 +89,7 @@ public void registerServiceValidateSuccessful() { ResponseEntity response = restTemplate.exchange(request, String.class); assertThat(response.getBody()).isNotNull(); - assertThat(response.getStatusCodeValue()).isEqualTo(200); + assertThat(response.getStatusCode().value()).isEqualTo(200); } @Order(3) @@ -117,6 +117,6 @@ public void deregisterServiceAndValidateSuccessful() { ResponseEntity response = restTemplate.exchange(request, String.class); assertThat(response.getBody()).isNotNull(); - assertThat(response.getStatusCodeValue()).isEqualTo(200); + assertThat(response.getStatusCode().value()).isEqualTo(200); } }