From 835d91aabb3f6356110d942197f53469efe6f978 Mon Sep 17 00:00:00 2001 From: Thomas Bayer Date: Thu, 1 Jan 2026 16:28:24 +0100 Subject: [PATCH 1/6] refactor: remove unused classes and methods, streamline imports, and improve package structure in `core` module --- .../predic8/membrane/core/DefaultConfig.java | 1 + .../membrane/core/FixedStreamReader.java | 43 -------------- .../com/predic8/membrane/core/HttpRouter.java | 25 -------- .../membrane/core/RoutingException.java | 26 --------- .../predic8/membrane/core/RuleManager.java | 1 + .../membrane/core/TerminateException.java | 57 ------------------- .../core/{ => cli}/ExitException.java | 2 +- .../predic8/membrane/core/cli/RouterCLI.java | 2 +- .../membrane/core/exchange/Exchange.java | 12 ---- .../AbstractPersistentExchangeStore.java | 2 +- .../ElasticSearchExchangeStore.java | 2 +- .../core/exchangestore/ExchangeStore.java | 2 +- .../exchangestore/MongoDBExchangeStore.java | 2 +- .../graphql/GraphQLoverHttpValidator.java | 4 +- .../core/interceptor/AbstractInterceptor.java | 2 +- .../core/interceptor/ApisJsonInterceptor.java | 2 +- .../interceptor/DispatchingInterceptor.java | 4 +- .../core/interceptor/FlowController.java | 2 +- .../core/interceptor/Interceptor.java | 2 +- .../acl/AbstractClientAddress.java | 2 +- .../core/interceptor/acl/AccessControl.java | 2 +- .../acl/AccessControlInterceptor.java | 11 +--- .../membrane/core/interceptor/acl/Any.java | 2 +- .../core/interceptor/acl/Hostname.java | 2 +- .../membrane/core/interceptor/acl/Ip.java | 2 +- .../core/interceptor/acl/Resource.java | 2 +- .../administration/AdminPageBuilder.java | 3 +- .../DynamicAdminPageInterceptor.java | 4 +- .../interceptor/administration/RuleUtil.java | 2 +- .../extractors/ApiKeyExpressionExtractor.java | 2 +- .../apikey/extractors/ApiKeyExtractor.java | 2 +- .../apikey/stores/ApiKeyFileStore.java | 2 +- .../apikey/stores/ApiKeyStore.java | 2 +- .../apikey/stores/JDBCApiKeyStore.java | 2 +- .../apikey/stores/MongoDBApiKeyStore.java | 2 +- .../session/CachingUserDataProvider.java | 2 +- .../CustomStatementJdbcUserDataProvider.java | 2 +- .../session/EmailTokenProvider.java | 2 +- .../session/EmptyTokenProvider.java | 2 +- .../session/FileUserDataProvider.java | 2 +- .../session/JdbcUserDataProvider.java | 2 +- .../session/JwtSessionManager.java | 2 +- .../session/LDAPUserDataProvider.java | 2 +- .../authentication/session/LoginDialog.java | 4 +- .../session/SessionManager.java | 2 +- .../session/StaticUserDataProvider.java | 2 +- .../session/TOTPTokenProvider.java | 2 +- .../session/TelekomSMSTokenProvider.java | 1 + .../authentication/session/TokenProvider.java | 2 +- .../session/UnifyingUserDataProvider.java | 2 +- .../session/UserDataProvider.java | 2 +- .../WhateverMobileSMSTokenProvider.java | 2 +- .../xen/XenAuthenticationInterceptor.java | 2 +- .../balancer/BalancerHealthMonitor.java | 2 +- .../interceptor/balancer/BalancerUtil.java | 2 +- .../balancer/ByThreadStrategy.java | 2 +- .../balancer/DispatchingStrategy.java | 2 +- .../balancer/PolyglotSessionIdExtractor.java | 2 +- .../balancer/PriorityStrategy.java | 2 +- .../balancer/RoundRobinStrategy.java | 2 +- .../balancer/SessionIdExtractor.java | 2 +- .../XMLElementSessionIdExtractor.java | 30 ++++------ .../FaultMonitoringStrategy.java | 2 +- .../interceptor/cache/CacheInterceptor.java | 2 +- .../flow/AbstractFlowInterceptor.java | 2 +- .../core/interceptor/flow/choice/Case.java | 2 +- .../flow/choice/InterceptorContainer.java | 2 +- .../FormValidationInterceptor.java | 2 +- .../GraalVMJavascriptLanguageAdapter.java | 2 +- .../javascript/LanguageAdapter.java | 2 +- .../RhinoJavascriptLanguageAdapter.java | 2 +- .../core/interceptor/oauth2/ClaimList.java | 2 +- .../core/interceptor/oauth2/ClientList.java | 2 +- .../interceptor/oauth2/ConsentPageFile.java | 2 +- .../interceptor/oauth2/StaticClientList.java | 2 +- .../AuthorizationService.java | 2 +- .../DynamicRegistration.java | 2 +- .../interceptor/oauth2/flows/CodeFlow.java | 2 +- .../oauth2/processors/EndpointProcessor.java | 2 +- .../oauth2/request/ParameterizedRequest.java | 2 +- .../tokenrequest/TokenFlowDecider.java | 2 +- .../BearerJwtTokenGenerator.java | 2 +- .../tokengenerators/BearerTokenGenerator.java | 2 +- .../tokengenerators/TokenGenerator.java | 2 +- .../OAuth2Resource2Interceptor.java | 4 +- .../oauth2client/rf/SessionAuthorizer.java | 2 +- .../oauth2server/LoginDialog2.java | 4 +- .../oauth2server/LoginEndpoint.java | 4 +- ...OAuth2AuthorizationServer2Interceptor.java | 4 +- .../interceptor/rest/RESTInterceptor.java | 4 +- .../rewrite/RewriteInterceptor.java | 4 +- .../schemavalidation/SchematronValidator.java | 2 +- .../server/WSDLPublisherInterceptor.java | 4 +- .../server/WebServerInterceptor.java | 6 +- .../session/InMemorySessionManager.java | 2 +- .../session/JwtSessionManager.java | 2 +- .../session/MemcachedSessionManager.java | 2 +- .../session/RedisSessionManager.java | 2 +- .../interceptor/session/SessionManager.java | 2 +- .../soap/WebServiceExplorerInterceptor.java | 2 +- .../statistics/StatisticsProvider.java | 6 +- .../core/interceptor/stomp/STOMPClient.java | 1 + .../tunnel/WebSocketInterceptor.java | 2 +- .../interceptor/xslt/XSLTTransformer.java | 2 +- .../predic8/membrane/core/jmx/JmxRouter.java | 2 +- .../membrane/core/jmx/JmxServiceProxy.java | 2 +- .../core/kubernetes/KubernetesWatcher.java | 2 +- .../core/lang/ExchangeExpression.java | 2 +- .../membrane/core/lang/ScriptingUtils.java | 4 +- .../lang/groovy/GroovyExchangeExpression.java | 2 +- .../core/openapi/serviceproxy/APIProxy.java | 2 +- .../serviceproxy/OpenAPIInterceptor.java | 4 +- .../serviceproxy/OpenAPIPublisher.java | 6 +- .../OpenAPIPublisherInterceptor.java | 4 +- .../serviceproxy/OpenAPIRecordFactory.java | 2 +- .../membrane/core/proxies/AbstractProxy.java | 2 +- .../core/proxies/AbstractServiceProxy.java | 2 +- .../predic8/membrane/core/proxies/Proxy.java | 2 +- .../membrane/core/proxies/SOAPProxy.java | 6 +- .../membrane/core/proxies/SSLProxy.java | 3 +- .../membrane/core/resolver/ResolverMap.java | 2 +- .../membrane/core/resolver/RuleResolver.java | 2 +- .../core/{ => router}/AbstractRouter.java | 2 +- .../core/{ => router}/Configuration.java | 2 +- .../{ => router}/DefaultMainComponents.java | 9 +-- .../core/{ => router}/DefaultRouter.java | 9 ++- .../core/{ => router}/DummyTestRouter.java | 11 +--- .../core/{ => router}/MainComponents.java | 6 +- .../membrane/core/{ => router}/Router.java | 2 +- .../core/{ => router}/RouterXmlBootstrap.java | 2 +- .../core/{ => router}/RuleReinitializer.java | 2 +- .../router/hotdeploy/DefaultHotDeployer.java | 2 +- .../core/router/hotdeploy/HotDeployer.java | 2 +- .../router/hotdeploy/NullHotDeployer.java | 2 +- .../RouterIpResolverInterceptor.java | 2 +- .../core/sslinterceptor/SSLInterceptor.java | 2 +- .../membrane/core/transport/Transport.java | 2 +- .../core/transport/http/HttpClient.java | 1 + .../core/transport/http/HttpTransport.java | 2 +- .../http/streampump}/Statistics.java | 4 +- .../http/{ => streampump}/StreamPump.java | 3 +- .../{ => streampump}/WebSocketStreamPump.java | 2 +- .../core/transport/ssl/AcmeSSLContext.java | 2 +- .../ws/WebSocketInterceptorInterface.java | 2 +- .../interceptors/WebSocketLogInterceptor.java | 2 +- .../WebSocketSpringInterceptor.java | 2 +- .../WebSocketStompReassembler.java | 2 +- .../core/util/jdbc/AbstractJdbcSupport.java | 2 +- .../membrane/AbstractTestWithRouter.java | 1 + .../membrane/core/DefaultRouterTest.java | 1 + .../com/predic8/membrane/core/MockRouter.java | 1 + .../core/RuleManagerUriTemplateTest.java | 1 + .../com/predic8/membrane/core/SimpleTest.java | 1 + .../com/predic8/membrane/core/TestRouter.java | 1 + .../predic8/membrane/core/acl/ACLTest.java | 2 +- .../core/azure/AzureDnsApiSimulator.java | 1 + .../config/ReadRulesConfigurationTest.java | 2 +- ...ulesWithInterceptorsConfigurationTest.java | 2 +- .../core/config/SpringReferencesTest.java | 2 +- .../GraphQLProtectionInterceptorTest.java | 2 +- .../graphql/GraphQLoverHttpValidatorTest.java | 2 +- .../membrane/core/http/ChunkedBodyTest.java | 1 + .../membrane/core/http/Http10Test.java | 1 + .../membrane/core/http/Http11Test.java | 1 + .../membrane/core/http/MethodTest.java | 1 + .../interceptor/AdjustContentLengthTest.java | 1 + .../interceptor/ApisJsonInterceptorTest.java | 2 +- .../DispatchingInterceptorTest.java | 2 +- .../HTTPClientInterceptorTest.java | 2 +- .../interceptor/InternalInvocationTest.java | 2 +- .../RegExReplaceInterceptorTest.java | 2 +- .../core/interceptor/UserFeatureTest.java | 2 +- .../acl/AccessControlParserTest.java | 2 +- .../core/interceptor/acl/HostnameTest.java | 2 +- .../adminapi/AdminApiInterceptorTest.java | 1 + .../apikey/ApiKeysInterceptorTest.java | 2 +- .../apikey/stores/ApiKeyFileStoreTest.java | 2 +- .../BasicAuthenticationInterceptorTest.java | 2 +- .../balancer/ClusterBalancerTest.java | 2 +- .../LoadBalancingWithClusterManagerTest.java | 1 + .../PolyglotSessionIdExtractorTest.java | 2 +- .../ConditionalEvaluationTestContext.java | 2 +- .../flow/IfInterceptorSpELTest.java | 2 +- .../AbstractInterceptorFlowTest.java | 1 + .../flow/invocation/FlowTestInterceptors.java | 2 +- ...InternalServiceRoutingInterceptorTest.java | 1 + .../FormValidationInterceptorTest.java | 2 +- .../groovy/GroovyInterceptorTest.java | 2 +- .../javascript/JavascriptInterceptorTest.java | 2 +- .../json/JsonProtectionInterceptorTest.java | 2 +- .../jwt/JwtAuthInterceptorTest.java | 2 +- .../jwt/JwtAuthInterceptorUnitTests.java | 2 +- .../AbstractSetHeaderInterceptorTest.java | 2 +- .../AbstractSetPropertyInterceptorTest.java | 2 +- .../lang/SetBodyInterceptorTest.java | 2 +- .../oauth2/OAuth2RedirectTest.java | 2 +- .../MembraneAuthorizationServiceTest.java | 2 +- .../oauth2/client/AuthServerMock.java | 2 +- .../client/OAuth2ResourceRpIniLogoutTest.java | 1 + .../client/b2c/MockAuthorizationServer.java | 1 + .../OpenTelemetryInterceptorTest.java | 2 +- .../ReverseProxyingInterceptorTest.java | 2 +- .../rewrite/RewriteInterceptorTest.java | 2 +- .../interceptor/rewrite/RewriterTest.java | 2 +- .../schemavalidation/SOAPFaultTest.java | 2 +- .../SOAPMessageValidatorInterceptorTest.java | 2 +- .../ValidatorInterceptorTest.java | 2 +- .../server/WSDLPublisherInterceptorTest.java | 1 + .../server/WebServerInterceptorTest.java | 2 +- .../session/FakeSyncSessionStoreManager.java | 2 +- .../session/SessionInterceptorTest.java | 1 + .../shadowing/ShadowingInterceptorTest.java | 2 +- .../soap/SoapAndInternalProxyTest.java | 1 + .../templating/StaticInterceptorTest.java | 2 +- .../templating/TemplateInterceptorTest.java | 35 +++++------- .../xml/Json2XmlInterceptorTest.java | 2 +- .../xml/Xml2JsonInterceptorTest.java | 1 + .../XMLProtectionInterceptorTest.java | 2 +- .../interceptor/xslt/XSLTInterceptorTest.java | 2 +- .../client/KubernetesClientTest.java | 1 + .../lang/AbstractExchangeExpressionTest.java | 2 +- .../lang/TemplateExchangeExpressionTest.java | 2 +- .../SetPropertyInterceptorXPathTest.java | 2 +- .../serviceproxy/APIProxyOpenAPITest.java | 2 +- .../APIProxySpringConfigurationTest.java | 2 +- .../AbstractProxySpringConfigurationTest.java | 2 +- .../serviceproxy/ApiDocsInterceptorTest.java | 2 +- .../serviceproxy/OpenAPI31ReferencesTest.java | 1 + .../openapi/serviceproxy/OpenAPI31Test.java | 2 +- .../serviceproxy/OpenAPIInterceptorTest.java | 2 +- .../OpenAPIPublisherInterceptorTest.java | 2 +- .../OpenAPIRecordFactoryTest.java | 2 +- .../serviceproxy/OpenAPIRecordTest.java | 2 +- .../openapi/serviceproxy/RewriteTest.java | 2 +- .../openapi/serviceproxy/Swagger20Test.java | 1 + .../XMembraneExtensionSecurityTest.java | 2 +- .../core/openapi/util/OpenAPITestUtils.java | 2 +- .../exceptions/ExceptionInterceptorTest.java | 2 +- .../AbstractSecurityValidatorTest.java | 2 +- .../BasicAuthSecurityValidationTest.java | 2 +- ...WTInterceptorAndSecurityValidatorTest.java | 2 +- .../security/OAuth2SecurityValidatorTest.java | 2 +- .../core/proxies/APIProxyKeyTest.java | 1 + .../core/proxies/InternalProxyTest.java | 1 + .../membrane/core/proxies/ProxyRuleTest.java | 2 +- .../membrane/core/proxies/ProxySSLTest.java | 2 +- .../membrane/core/proxies/ProxyTest.java | 1 + .../membrane/core/proxies/SOAPProxyTest.java | 2 +- ...SOAPProxyWSDLPublisherInterceptorTest.java | 1 + .../core/proxies/ServiceProxyTest.java | 1 + .../ServiceProxyWSDLInterceptorsTest.java | 1 + .../core/proxies/TargetURLExpressionTest.java | 2 +- .../proxies/UnavailableSoapProxyTest.java | 2 +- .../membrane/core/resolver/ResolverTest.java | 1 + .../core/security/JWTSecuritySchemeTest.java | 3 +- .../core/security/KeyStoreUtilTest.java | 2 +- .../transport/http/BoundConnectionTest.java | 1 + .../http/ConcurrentConnectionLimitTest.java | 1 + .../core/transport/http/ConnectionTest.java | 1 + .../transport/http/Http2DowngradeTest.java | 1 + .../transport/http/HttpKeepAliveTest.java | 1 + .../core/transport/http/HttpTimeoutTest.java | 1 + .../transport/http/HttpTransportTest.java | 2 + .../http/IllegalCharactersInURLTest.java | 1 + .../transport/http/ServiceInvocationTest.java | 1 + .../client/HttpClientConfigurationTest.java | 2 +- .../http2/Http2ClientServerTest.java | 1 + .../transport/ssl/HttpsKeepAliveTest.java | 1 + .../core/transport/ssl/SSLContextTest.java | 2 +- .../transport/ssl/SessionResumptionTest.java | 2 + .../ssl/acme/AcmeServerSimulator.java | 1 + .../core/ws/SoapProxyInvocationTest.java | 1 + .../JDBCApiKeyStorePerformanceTest.java | 2 +- .../predic8/membrane/integration/Util.java | 1 + .../OpenAPIRecordFactoryIntegrationTest.java | 2 +- .../ProxySSLConnectionMethodTest.java | 1 + .../withinternet/ViaProxyTest.java | 1 + .../RewriteInterceptorIntegrationTest.java | 4 +- ...tedMemoryExchangeStoreIntegrationTest.java | 1 + .../interceptor/AcmeRenewTest.java | 1 + .../OpenApiRewriteIntegrationTest.java | 1 + .../REST2SOAPInterceptorIntegrationTest.java | 1 + .../interceptor/SOAPProxyIntegrationTest.java | 1 + ...th2AuthorizationServerInterceptorBase.java | 1 + .../interceptor/oauth2/OAuth2Test.java | 2 +- ...nterceptorFaultMonitoringStrategyTest.java | 1 + .../LoadBalancingInterceptorTest.java | 1 + .../MultipleLoadBalancersTest.java | 1 + .../WsaEndpointRewriterInterceptorTest.java | 2 +- .../test/resources/custom-monitor-beans.xml | 2 +- .../proxy-rules-test-monitor-beans.xml | 2 +- .../examples/ConfigSerializationTest.java | 2 +- .../env/HelpLinkExistenceTest.java | 2 +- .../com/predic8/membrane/load/LoadTester.java | 2 +- docs/ROADMAP.md | 1 + .../MembraneServletContextListener.java | 2 +- .../predic8/membrane/servlet/RouterUtil.java | 2 +- .../servlet/embedded/MembraneServlet.java | 2 +- 298 files changed, 355 insertions(+), 481 deletions(-) delete mode 100644 core/src/main/java/com/predic8/membrane/core/FixedStreamReader.java delete mode 100644 core/src/main/java/com/predic8/membrane/core/HttpRouter.java delete mode 100644 core/src/main/java/com/predic8/membrane/core/RoutingException.java delete mode 100644 core/src/main/java/com/predic8/membrane/core/TerminateException.java rename core/src/main/java/com/predic8/membrane/core/{ => cli}/ExitException.java (96%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/AbstractRouter.java (96%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/Configuration.java (99%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/DefaultMainComponents.java (97%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/DefaultRouter.java (98%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/DummyTestRouter.java (96%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/MainComponents.java (90%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/Router.java (95%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/RouterXmlBootstrap.java (98%) rename core/src/main/java/com/predic8/membrane/core/{ => router}/RuleReinitializer.java (98%) rename core/src/main/java/com/predic8/membrane/core/{ => transport/http/streampump}/Statistics.java (89%) rename core/src/main/java/com/predic8/membrane/core/transport/http/{ => streampump}/StreamPump.java (97%) rename core/src/main/java/com/predic8/membrane/core/transport/http/{ => streampump}/WebSocketStreamPump.java (98%) diff --git a/core/src/main/java/com/predic8/membrane/core/DefaultConfig.java b/core/src/main/java/com/predic8/membrane/core/DefaultConfig.java index 8b3bf684d9..480dcf0851 100644 --- a/core/src/main/java/com/predic8/membrane/core/DefaultConfig.java +++ b/core/src/main/java/com/predic8/membrane/core/DefaultConfig.java @@ -14,6 +14,7 @@ package com.predic8.membrane.core; +import com.predic8.membrane.core.router.*; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanFactoryPostProcessor; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/FixedStreamReader.java b/core/src/main/java/com/predic8/membrane/core/FixedStreamReader.java deleted file mode 100644 index 60b90550e0..0000000000 --- a/core/src/main/java/com/predic8/membrane/core/FixedStreamReader.java +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright 2012 predic8 GmbH, www.predic8.com - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. */ - -package com.predic8.membrane.core; - -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.util.StreamReaderDelegate; - -/** - * - * Fixes Issue with StAX RI parser, that doesn't correctly lookup attribute values with getAttributeValue when one uses null or "" as namespace parameter. - * That Issue is fixed since update 18. - */ -public class FixedStreamReader extends StreamReaderDelegate { - public FixedStreamReader(XMLStreamReader rdr) { - super(rdr); - } - - @Override - public String getAttributeValue(String ns, String lName) { - if (!"".equals(ns) && ns != null) { - return super.getAttributeValue(ns, lName); - } - - for (int i = 0; i < getAttributeCount(); i++) { - if ( (ns == null || getAttributeNamespace(i) == null || "".equals(getAttributeNamespace(i))) && lName.equals(getAttributeLocalName(i))) { - return getAttributeValue(i); - } - } - return null; - } -} \ No newline at end of file diff --git a/core/src/main/java/com/predic8/membrane/core/HttpRouter.java b/core/src/main/java/com/predic8/membrane/core/HttpRouter.java deleted file mode 100644 index d219639291..0000000000 --- a/core/src/main/java/com/predic8/membrane/core/HttpRouter.java +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2025 predic8 GmbH, www.predic8.com - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. */ - -package com.predic8.membrane.core; - -import com.predic8.membrane.core.transport.http.*; - -public class HttpRouter extends DefaultRouter { - - @Override - public HttpTransport getTransport() { - return (HttpTransport) super.getTransport(); - } -} diff --git a/core/src/main/java/com/predic8/membrane/core/RoutingException.java b/core/src/main/java/com/predic8/membrane/core/RoutingException.java deleted file mode 100644 index f5d1ededf2..0000000000 --- a/core/src/main/java/com/predic8/membrane/core/RoutingException.java +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2009 predic8 GmbH, www.predic8.com - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. */ - - -package com.predic8.membrane.core; - -public class RoutingException extends Exception { - - private static final long serialVersionUID = 1L; - - public RoutingException(String message) { - super(message); - } - -} diff --git a/core/src/main/java/com/predic8/membrane/core/RuleManager.java b/core/src/main/java/com/predic8/membrane/core/RuleManager.java index 4b975b8b1a..30b1027a4f 100644 --- a/core/src/main/java/com/predic8/membrane/core/RuleManager.java +++ b/core/src/main/java/com/predic8/membrane/core/RuleManager.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.model.*; import com.predic8.membrane.core.proxies.Proxy; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.ssl.*; import com.predic8.membrane.core.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/TerminateException.java b/core/src/main/java/com/predic8/membrane/core/TerminateException.java deleted file mode 100644 index 0e1430d67b..0000000000 --- a/core/src/main/java/com/predic8/membrane/core/TerminateException.java +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 2009 predic8 GmbH, www.predic8.com - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. */ - -package com.predic8.membrane.core; - - -import java.io.*; - -public class TerminateException extends Exception { - - /** - * - */ - @Serial - private static final long serialVersionUID = 6330549161301272316L; - - /** - * - */ - public TerminateException() { - super(); - } - - /** - * @param message - */ - public TerminateException(String message) { - super(message); - } - - /** - * @param cause - */ - public TerminateException(Throwable cause) { - super(cause); - } - - /** - * @param message - * @param cause - */ - public TerminateException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/core/src/main/java/com/predic8/membrane/core/ExitException.java b/core/src/main/java/com/predic8/membrane/core/cli/ExitException.java similarity index 96% rename from core/src/main/java/com/predic8/membrane/core/ExitException.java rename to core/src/main/java/com/predic8/membrane/core/cli/ExitException.java index 603e8bdac7..b9154f5dd7 100644 --- a/core/src/main/java/com/predic8/membrane/core/ExitException.java +++ b/core/src/main/java/com/predic8/membrane/core/cli/ExitException.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.cli; /** * Exception that signals that the startup failed and that Membrane should exit. diff --git a/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java b/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java index 6eff721d93..2077e180f3 100644 --- a/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java +++ b/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java @@ -15,11 +15,11 @@ package com.predic8.membrane.core.cli; import com.predic8.membrane.annot.beanregistry.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.spring.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.cli.*; import org.jetbrains.annotations.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/exchange/Exchange.java b/core/src/main/java/com/predic8/membrane/core/exchange/Exchange.java index c6f146d342..fa3fb19e01 100644 --- a/core/src/main/java/com/predic8/membrane/core/exchange/Exchange.java +++ b/core/src/main/java/com/predic8/membrane/core/exchange/Exchange.java @@ -85,18 +85,6 @@ public String getOriginalHostHeaderHost() { return originalHostHeader.replaceFirst(":.*", ""); } - public void block(Message msg) throws TerminateException { - try { - log.debug("Message thread waits"); - msg.wait(); - log.debug("Message thread received notify"); - if (isForcedToStop()) - throw new TerminateException("Force the exchange to stop."); - } catch (InterruptedException e1) { - Thread.currentThread().interrupt(); - } - } - public String getOriginalHostHeaderPort() { int pos = originalHostHeader.indexOf(':'); if (pos == -1) { diff --git a/core/src/main/java/com/predic8/membrane/core/exchangestore/AbstractPersistentExchangeStore.java b/core/src/main/java/com/predic8/membrane/core/exchangestore/AbstractPersistentExchangeStore.java index f2e55df17d..4e90b8b2ec 100644 --- a/core/src/main/java/com/predic8/membrane/core/exchangestore/AbstractPersistentExchangeStore.java +++ b/core/src/main/java/com/predic8/membrane/core/exchangestore/AbstractPersistentExchangeStore.java @@ -16,12 +16,12 @@ import com.google.common.cache.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchange.snapshots.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import java.util.*; import java.util.concurrent.*; diff --git a/core/src/main/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStore.java b/core/src/main/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStore.java index ba5d1b6304..cd8ea32687 100644 --- a/core/src/main/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStore.java +++ b/core/src/main/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStore.java @@ -17,7 +17,6 @@ import com.fasterxml.jackson.databind.*; import com.google.common.collect.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchange.snapshots.*; import com.predic8.membrane.core.http.*; @@ -25,6 +24,7 @@ import com.predic8.membrane.core.interceptor.rest.*; import com.predic8.membrane.core.proxies.Proxy; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.apache.commons.io.*; import org.json.*; diff --git a/core/src/main/java/com/predic8/membrane/core/exchangestore/ExchangeStore.java b/core/src/main/java/com/predic8/membrane/core/exchangestore/ExchangeStore.java index 60dd4f92f2..d54798ddc5 100644 --- a/core/src/main/java/com/predic8/membrane/core/exchangestore/ExchangeStore.java +++ b/core/src/main/java/com/predic8/membrane/core/exchangestore/ExchangeStore.java @@ -14,12 +14,12 @@ package com.predic8.membrane.core.exchangestore; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.Interceptor.*; import com.predic8.membrane.core.interceptor.rest.*; import com.predic8.membrane.core.model.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/exchangestore/MongoDBExchangeStore.java b/core/src/main/java/com/predic8/membrane/core/exchangestore/MongoDBExchangeStore.java index 97735ae2fa..d88c07df22 100644 --- a/core/src/main/java/com/predic8/membrane/core/exchangestore/MongoDBExchangeStore.java +++ b/core/src/main/java/com/predic8/membrane/core/exchangestore/MongoDBExchangeStore.java @@ -22,11 +22,11 @@ import com.mongodb.client.model.ReplaceOptions; import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.AbstractExchange; import com.predic8.membrane.core.exchange.snapshots.AbstractExchangeSnapshot; import com.predic8.membrane.core.proxies.Proxy; import com.predic8.membrane.core.proxies.RuleKey; +import com.predic8.membrane.core.router.*; import org.bson.Document; import org.bson.conversions.Bson; import org.slf4j.Logger; diff --git a/core/src/main/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidator.java b/core/src/main/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidator.java index 3fc3161cd9..00b7c11ebe 100644 --- a/core/src/main/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidator.java +++ b/core/src/main/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidator.java @@ -16,11 +16,11 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.graphql.blocklist.FeatureBlocklist; import com.predic8.membrane.core.graphql.model.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import jakarta.mail.internet.*; import org.jetbrains.annotations.*; import org.slf4j.*; @@ -242,7 +242,7 @@ private static void checkExtension(Map data) { private String getRawQuery(Exchange exc) { try { - return router.getUriFactory().create(exc.getRequest().getUri()).getRawQuery(); + return router.getConfiguration().getUriFactory().create(exc.getRequest().getUri()).getRawQuery(); } catch (URISyntaxException e) { throw new GraphQLOverHttpValidationException(400, "Invalid request URI."); } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/AbstractInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/AbstractInterceptor.java index 08139df867..9bb4d26a5e 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/AbstractInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/AbstractInterceptor.java @@ -15,10 +15,10 @@ package com.predic8.membrane.core.interceptor; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptor.java index 87ec005cb0..cbf08d0d63 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptor.java @@ -17,13 +17,13 @@ import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.node.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.Response.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.openapi.serviceproxy.APIProxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/DispatchingInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/DispatchingInterceptor.java index e0c559d110..ebd7e5baa3 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/DispatchingInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/DispatchingInterceptor.java @@ -110,7 +110,7 @@ protected String getAddressFromTargetElement(Exchange exc) throws MalformedURLEx if (p.getTargetURL() != null) { String targetURL = p.getTarget().compileUrl(exc, REQUEST); if (targetURL.startsWith("http") || targetURL.startsWith("internal")) { - String basePath = UriUtil.getPathFromURL(router.getUriFactory(), targetURL); + String basePath = UriUtil.getPathFromURL(router.getConfiguration().getUriFactory(), targetURL); if (basePath == null || basePath.isEmpty() || "/".equals(basePath)) { URI base = new URI(targetURL); // Resolve and normalize slashes consistently with the branch below. @@ -131,7 +131,7 @@ private String getUri(Exchange exc) throws URISyntaxException { if (exc.getRequest().isCONNECTRequest()) { return exc.getRequest().getUri(); } - return router.getUriFactory().create(exc.getRequest().getUri()).getPathWithQuery(); + return router.getConfiguration().getUriFactory().create(exc.getRequest().getUri()).getPathWithQuery(); } @Override diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/FlowController.java b/core/src/main/java/com/predic8/membrane/core/interceptor/FlowController.java index 36cefd6b8e..8967c07106 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/FlowController.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/FlowController.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.Interceptor.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/Interceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/Interceptor.java index 0f0ded2c10..08feeff00d 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/Interceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/Interceptor.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.proxies.Proxy; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AbstractClientAddress.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AbstractClientAddress.java index 444cb58de2..4993e8e626 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AbstractClientAddress.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AbstractClientAddress.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.acl; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.AbstractXmlElement; +import com.predic8.membrane.core.router.*; import javax.xml.stream.XMLStreamReader; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControl.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControl.java index 6c9bedce2a..dd3cd267a6 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControl.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControl.java @@ -18,8 +18,8 @@ import javax.xml.stream.XMLStreamReader; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.AbstractXmlElement; +import com.predic8.membrane.core.router.*; public class AccessControl extends AbstractXmlElement { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControlInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControlInterceptor.java index d10f4d2055..bab2a95a0e 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControlInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/AccessControlInterceptor.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.xml.beautifier.*; import org.apache.commons.text.*; import org.slf4j.*; @@ -134,9 +135,9 @@ protected AccessControl parse(String fileName, Router router) { XMLInputFactory factory = XMLInputFactoryFactory.inputFactory(); XMLStreamReader reader = null; try { - reader = new FixedStreamReader(factory.createXMLStreamReader( + reader = factory.createXMLStreamReader( router.getResolverMap().resolve( - ResolverMap.combine(router.getBaseLocation(), fileName)))); + ResolverMap.combine(router.getBaseLocation(), fileName))); AccessControl res = (AccessControl) new AccessControl(router).parse(reader); res.init(router); return res; @@ -148,12 +149,6 @@ protected AccessControl parse(String fileName, Router router) { } } } - -// XMLStreamReader reader = new FixedStreamReader(factory.createXMLStreamReader(router.getResolverMap() -// .resolve(ResolverMap.combine(router.getBaseLocation(), fileName)))); -// AccessControl res = (AccessControl) new AccessControl(router).parse(reader); -// res.init(router); -// return res; } catch (Exception e) { log.error("Error initializing accessControl.", e); System.err.println("Error initializing accessControl: terminating."); diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Any.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Any.java index 1441e50cfc..3406d15110 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Any.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Any.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.interceptor.acl; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; public class Any extends AbstractClientAddress { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Hostname.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Hostname.java index 62d20ed25a..71c742d8fe 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Hostname.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Hostname.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.acl; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Ip.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Ip.java index b0e2427bab..b3850b67e9 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Ip.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Ip.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.acl; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import javax.xml.stream.XMLStreamReader; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Resource.java b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Resource.java index 245ab3462f..0748aeab44 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Resource.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/acl/Resource.java @@ -22,7 +22,7 @@ import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/administration/AdminPageBuilder.java b/core/src/main/java/com/predic8/membrane/core/interceptor/administration/AdminPageBuilder.java index 0770715a0f..fffa84b5a4 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/administration/AdminPageBuilder.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/administration/AdminPageBuilder.java @@ -23,7 +23,8 @@ import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.proxies.Proxy; -import com.predic8.membrane.core.transport.http.*; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.transport.http.streampump.*; import org.apache.commons.text.*; import java.io.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/administration/DynamicAdminPageInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/administration/DynamicAdminPageInterceptor.java index d86dbcfab8..b91ff62d31 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/administration/DynamicAdminPageInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/administration/DynamicAdminPageInterceptor.java @@ -854,7 +854,7 @@ protected void createTabContent() { } private Outcome dispatchRequest(Exchange exc) throws URISyntaxException, IOException, InvocationTargetException, IllegalAccessException { - String pathQuery = URLUtil.getPathQuery(router.getUriFactory(), exc.getDestinations().getFirst()); + String pathQuery = URLUtil.getPathQuery(router.getConfiguration().getUriFactory(), exc.getDestinations().getFirst()); for (Method m : getClass().getMethods() ) { Mapping a = m.getAnnotation(Mapping.class); if ( a != null && Pattern.matches(a.value(), pathQuery)) { @@ -866,7 +866,7 @@ private Outcome dispatchRequest(Exchange exc) throws URISyntaxException, IOExcep } private Map getParams(Exchange exc) throws URISyntaxException, IOException { - return URLParamUtil.getParams(router.getUriFactory(), exc, ERROR); + return URLParamUtil.getParams(router.getConfiguration().getUriFactory(), exc, ERROR); } private Response respond(String page) { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/administration/RuleUtil.java b/core/src/main/java/com/predic8/membrane/core/interceptor/administration/RuleUtil.java index 849e90a74e..e888b02e32 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/administration/RuleUtil.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/administration/RuleUtil.java @@ -14,8 +14,8 @@ package com.predic8.membrane.core.interceptor.administration; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; public class RuleUtil { public static String getRuleIdentifier(Proxy proxy) { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExpressionExtractor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExpressionExtractor.java index eeeecefd17..404cee7b68 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExpressionExtractor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExpressionExtractor.java @@ -14,13 +14,13 @@ package com.predic8.membrane.core.interceptor.apikey.extractors; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.xml.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.lang.*; import com.predic8.membrane.core.lang.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; +import com.predic8.membrane.core.router.*; import java.util.Optional; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExtractor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExtractor.java index eecb159bab..a6e107b377 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExtractor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/extractors/ApiKeyExtractor.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.apikey.extractors; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; +import com.predic8.membrane.core.router.*; import java.util.Optional; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStore.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStore.java index 6f5f566e1e..2fc453c3bb 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStore.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStore.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.interceptor.apikey.stores; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import java.io.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java index a00298f497..b9f241a1eb 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.apikey.stores; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java index af498a153d..d23eac1b73 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java @@ -17,7 +17,7 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.util.ConfigurationException; import com.predic8.membrane.core.util.jdbc.AbstractJdbcSupport; import org.jetbrains.annotations.NotNull; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/MongoDBApiKeyStore.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/MongoDBApiKeyStore.java index 9435074860..a2b8f22cf7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/MongoDBApiKeyStore.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/MongoDBApiKeyStore.java @@ -16,7 +16,7 @@ import com.mongodb.client.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.bson.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CachingUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CachingUserDataProvider.java index e991cef61c..b063c2b498 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CachingUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CachingUserDataProvider.java @@ -19,7 +19,7 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.predic8.membrane.annot.Required; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CustomStatementJdbcUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CustomStatementJdbcUserDataProvider.java index 1803216b9f..dde0c1e0e7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CustomStatementJdbcUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/CustomStatementJdbcUserDataProvider.java @@ -15,7 +15,7 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.predic8.membrane.annot.Required; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmailTokenProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmailTokenProvider.java index a0518b4b6f..359ef9ac86 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmailTokenProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmailTokenProvider.java @@ -15,7 +15,7 @@ import com.floreysoft.jmte.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import jakarta.mail.*; import jakarta.mail.Message.*; import jakarta.mail.internet.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmptyTokenProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmptyTokenProvider.java index a7407eddfd..0f8ee133af 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmptyTokenProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/EmptyTokenProvider.java @@ -17,7 +17,7 @@ import java.util.NoSuchElementException; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; @MCElement(name="emptyTokenProvider", component =false) public class EmptyTokenProvider implements TokenProvider { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/FileUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/FileUserDataProvider.java index 8dff83d166..9839f1cbfa 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/FileUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/FileUserDataProvider.java @@ -15,7 +15,7 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.io.*; import java.nio.file.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JdbcUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JdbcUserDataProvider.java index b493b685d6..17349b8983 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JdbcUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JdbcUserDataProvider.java @@ -15,8 +15,8 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.registration.SecurityUtils; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.predic8.membrane.annot.Required; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JwtSessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JwtSessionManager.java index db67506ec0..55ebb810e4 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JwtSessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/JwtSessionManager.java @@ -15,8 +15,8 @@ import com.predic8.membrane.annot.MCElement; import com.predic8.membrane.annot.MCTextContent; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.jose4j.json.JsonUtil; import org.jose4j.jwk.JsonWebKey; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LDAPUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LDAPUserDataProvider.java index 1bac01a14d..4aeaf593b5 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LDAPUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LDAPUserDataProvider.java @@ -36,8 +36,8 @@ import javax.naming.directory.SearchResult; import javax.net.SocketFactory; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.SSLParser; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ssl.SSLContext; import com.predic8.membrane.core.transport.ssl.StaticSSLContext; import org.slf4j.Logger; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LoginDialog.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LoginDialog.java index 3fef38f6b4..27ba7f3696 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LoginDialog.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/LoginDialog.java @@ -17,13 +17,13 @@ import com.floreysoft.jmte.message.*; import com.floreysoft.jmte.token.*; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.authentication.session.SessionManager.*; import com.predic8.membrane.core.interceptor.server.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.URI; import com.predic8.membrane.core.util.*; import org.apache.commons.lang3.*; @@ -85,7 +85,7 @@ public LoginDialog( } public void init(Router router) { - uriFactory = router.getUriFactory(); + uriFactory = router.getConfiguration().getUriFactory(); wsi.init(router); try { // This is only a check if index.html is present diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/SessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/SessionManager.java index 3a2a4cfb55..fb16b19da0 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/SessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/SessionManager.java @@ -14,12 +14,12 @@ package com.predic8.membrane.core.interceptor.authentication.session; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.authentication.session.CleanupThread.*; import com.predic8.membrane.core.interceptor.oauth2.SessionFinder; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.lang3.*; import org.jetbrains.annotations.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/StaticUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/StaticUserDataProvider.java index 4643545467..17b68eda59 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/StaticUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/StaticUserDataProvider.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.interceptor.authentication.session; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.codec.digest.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TOTPTokenProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TOTPTokenProvider.java index 848e4d327f..143cb4e388 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TOTPTokenProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TOTPTokenProvider.java @@ -17,8 +17,8 @@ import java.util.NoSuchElementException; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.authentication.session.totp.OtpProvider; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TelekomSMSTokenProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TelekomSMSTokenProvider.java index 40211a7bd3..883ae3903a 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TelekomSMSTokenProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TelekomSMSTokenProvider.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.util.*; import org.apache.commons.codec.binary.Base64; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TokenProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TokenProvider.java index ba5d0cc317..45bc0460e1 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TokenProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/TokenProvider.java @@ -15,7 +15,7 @@ import java.util.Map; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; public interface TokenProvider { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UnifyingUserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UnifyingUserDataProvider.java index 64b8fe62a3..0ea410fa0e 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UnifyingUserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UnifyingUserDataProvider.java @@ -23,7 +23,7 @@ import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; /** * @explanation

diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UserDataProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UserDataProvider.java index 501994582f..0a4fd21492 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UserDataProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/UserDataProvider.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.authentication.session; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/WhateverMobileSMSTokenProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/WhateverMobileSMSTokenProvider.java index 8964a9abce..90c7c20fd7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/WhateverMobileSMSTokenProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/session/WhateverMobileSMSTokenProvider.java @@ -15,9 +15,9 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.HttpClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/xen/XenAuthenticationInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/xen/XenAuthenticationInterceptor.java index 445e58cedc..3788863ec7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/xen/XenAuthenticationInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/authentication/xen/XenAuthenticationInterceptor.java @@ -16,11 +16,11 @@ import com.bornium.security.oauth2openid.Constants; import com.google.common.collect.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.authentication.session.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jose4j.json.JsonUtil; import org.jose4j.jwk.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java index eff6c3226d..c6a4748a1c 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java @@ -15,9 +15,9 @@ package com.predic8.membrane.core.interceptor.balancer; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.balancer.Node.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerUtil.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerUtil.java index dbe9e62164..d75bcff266 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerUtil.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerUtil.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor.balancer; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/ByThreadStrategy.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/ByThreadStrategy.java index e024aa96c5..76014fbeab 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/ByThreadStrategy.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/ByThreadStrategy.java @@ -19,9 +19,9 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.AbstractXmlElement; import com.predic8.membrane.core.exchange.AbstractExchange; +import com.predic8.membrane.core.router.*; @MCElement(name="byThreadStrategy") public class ByThreadStrategy extends AbstractXmlElement implements DispatchingStrategy { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/DispatchingStrategy.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/DispatchingStrategy.java index 7f3091b16c..76d1fbaef7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/DispatchingStrategy.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/DispatchingStrategy.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.balancer; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.AbstractExchange; +import com.predic8.membrane.core.router.*; public interface DispatchingStrategy { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractor.java index f718be179a..4bc3560fc2 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractor.java @@ -14,13 +14,13 @@ package com.predic8.membrane.core.interceptor.balancer; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.Interceptor.*; import com.predic8.membrane.core.interceptor.lang.*; import com.predic8.membrane.core.lang.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; +import com.predic8.membrane.core.router.*; import static com.predic8.membrane.core.lang.ExchangeExpression.expression; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PriorityStrategy.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PriorityStrategy.java index 8425d1ab71..9de1fe458d 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PriorityStrategy.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/PriorityStrategy.java @@ -15,9 +15,9 @@ package com.predic8.membrane.core.interceptor.balancer; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/RoundRobinStrategy.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/RoundRobinStrategy.java index 1c5cf46a38..f43cc0cfdc 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/RoundRobinStrategy.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/RoundRobinStrategy.java @@ -16,9 +16,9 @@ import javax.xml.stream.*; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.AbstractXmlElement; import com.predic8.membrane.core.exchange.AbstractExchange; +import com.predic8.membrane.core.router.*; import java.util.List; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/SessionIdExtractor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/SessionIdExtractor.java index de71248d41..ea2f69e45d 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/SessionIdExtractor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/SessionIdExtractor.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor.balancer; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.interceptor.Interceptor.Flow; +import com.predic8.membrane.core.router.*; public interface SessionIdExtractor { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/XMLElementSessionIdExtractor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/XMLElementSessionIdExtractor.java index 22be728154..c94dabe5ce 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/XMLElementSessionIdExtractor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/XMLElementSessionIdExtractor.java @@ -13,23 +13,17 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.balancer; -import com.predic8.membrane.annot.MCAttribute; -import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.annot.Required; -import com.predic8.membrane.core.FixedStreamReader; -import com.predic8.membrane.core.config.AbstractXmlElement; -import com.predic8.membrane.core.exchange.Exchange; -import com.predic8.membrane.core.http.Message; -import com.predic8.membrane.core.interceptor.Interceptor; -import com.predic8.membrane.core.interceptor.Interceptor.Flow; -import com.predic8.xml.beautifier.XMLInputFactoryFactory; -import org.jetbrains.annotations.NotNull; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; +import com.predic8.membrane.annot.*; +import com.predic8.membrane.core.*; +import com.predic8.membrane.core.config.*; +import com.predic8.membrane.core.exchange.*; +import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.interceptor.Interceptor.*; +import com.predic8.xml.beautifier.*; +import org.jetbrains.annotations.*; +import org.slf4j.*; + +import javax.xml.stream.*; /** * @description Extracts a session ID from an XML HTTP request body based on the qualified name of an XML element. @@ -73,7 +67,7 @@ public String getSessionId(Exchange exc, Flow flow) throws Exception { } private @NotNull XMLStreamReader getXmlStreamReader(Message msg) throws XMLStreamException { - return new FixedStreamReader(XMLInputFactoryFactory.inputFactory().createXMLStreamReader(msg.getBodyAsStreamDecoded())); + return XMLInputFactoryFactory.inputFactory().createXMLStreamReader(msg.getBodyAsStreamDecoded()); } private boolean isSessionIdElement(XMLStreamReader reader) { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/faultmonitoring/FaultMonitoringStrategy.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/faultmonitoring/FaultMonitoringStrategy.java index a4bd00fd9f..04619ed687 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/faultmonitoring/FaultMonitoringStrategy.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/faultmonitoring/FaultMonitoringStrategy.java @@ -16,10 +16,10 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.AbstractXmlElement; import com.predic8.membrane.core.exchange.AbstractExchange; import com.predic8.membrane.core.interceptor.balancer.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.HttpClientStatusEventBus; import com.predic8.membrane.core.transport.http.HttpClientStatusEventListener; import org.slf4j.Logger; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/cache/CacheInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/cache/CacheInterceptor.java index dfb85269af..9b67ec25f7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/cache/CacheInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/cache/CacheInterceptor.java @@ -17,7 +17,6 @@ import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; import com.predic8.membrane.annot.Required; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.http.HeaderField; @@ -26,6 +25,7 @@ import com.predic8.membrane.core.interceptor.AbstractInterceptor; import com.predic8.membrane.core.interceptor.Outcome; import com.predic8.membrane.core.resolver.ResolverMap; +import com.predic8.membrane.core.router.*; import org.apache.commons.codec.binary.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/flow/AbstractFlowInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/flow/AbstractFlowInterceptor.java index 7efa576deb..1861827266 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/flow/AbstractFlowInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/flow/AbstractFlowInterceptor.java @@ -14,12 +14,12 @@ package com.predic8.membrane.core.interceptor.flow; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.ProxyAware; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.interceptor.AbstractInterceptor; import com.predic8.membrane.core.interceptor.Interceptor; import com.predic8.membrane.core.proxies.Proxy; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/Case.java b/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/Case.java index 696595d495..82d81cca0b 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/Case.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/Case.java @@ -14,13 +14,13 @@ package com.predic8.membrane.core.interceptor.flow.choice; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.xml.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.Interceptor.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.lang.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; +import com.predic8.membrane.core.router.*; import org.slf4j.*; import static com.predic8.membrane.core.lang.ExchangeExpression.Language.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/InterceptorContainer.java b/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/InterceptorContainer.java index c13ef720ee..8e515a1662 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/InterceptorContainer.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/flow/choice/InterceptorContainer.java @@ -14,11 +14,11 @@ package com.predic8.membrane.core.interceptor.flow.choice; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.Interceptor.*; import com.predic8.membrane.core.lang.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptor.java index 2cd1b8ac5f..ed33fd6e45 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptor.java @@ -113,7 +113,7 @@ public Outcome handleRequest(Exchange exc) { Map propMap; try { - propMap = URLParamUtil.getParams(router.getUriFactory(), exc, ERROR); + propMap = URLParamUtil.getParams(router.getConfiguration().getUriFactory(), exc, ERROR); } catch (Exception e) { internal(router.getConfiguration().isProduction(),getDisplayName()) .detail("Could not parse query parameters!") diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/GraalVMJavascriptLanguageAdapter.java b/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/GraalVMJavascriptLanguageAdapter.java index a728fe0a5e..ac6f50381d 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/GraalVMJavascriptLanguageAdapter.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/GraalVMJavascriptLanguageAdapter.java @@ -16,9 +16,9 @@ package com.predic8.membrane.core.interceptor.javascript; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.lang.javascript.*; +import com.predic8.membrane.core.router.*; import org.graalvm.polyglot.*; import static com.predic8.membrane.core.exceptions.ProblemDetails.internal; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/LanguageAdapter.java b/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/LanguageAdapter.java index 13fcaacc49..1db777d702 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/LanguageAdapter.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/LanguageAdapter.java @@ -16,9 +16,9 @@ package com.predic8.membrane.core.interceptor.javascript; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.lang.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/RhinoJavascriptLanguageAdapter.java b/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/RhinoJavascriptLanguageAdapter.java index 7b6449cd34..e6868da303 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/RhinoJavascriptLanguageAdapter.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/javascript/RhinoJavascriptLanguageAdapter.java @@ -16,9 +16,9 @@ package com.predic8.membrane.core.interceptor.javascript; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.lang.javascript.*; +import com.predic8.membrane.core.router.*; import javax.script.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClaimList.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClaimList.java index 76178d2869..e4b6944f90 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClaimList.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClaimList.java @@ -16,8 +16,8 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.annot.Required; +import com.predic8.membrane.core.router.*; import java.util.*; import java.util.function.Function; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClientList.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClientList.java index 0920798bd6..6cf5aea73c 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClientList.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ClientList.java @@ -13,7 +13,7 @@ package com.predic8.membrane.core.interceptor.oauth2; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.util.NoSuchElementException; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ConsentPageFile.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ConsentPageFile.java index 535d8f5a3b..1b61ff5c33 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ConsentPageFile.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/ConsentPageFile.java @@ -15,8 +15,8 @@ import com.fasterxml.jackson.core.type.*; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.io.*; import java.io.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/StaticClientList.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/StaticClientList.java index 2a136f220b..55a4d8c2d0 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/StaticClientList.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/StaticClientList.java @@ -15,7 +15,7 @@ import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.util.ArrayList; import java.util.HashMap; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/AuthorizationService.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/AuthorizationService.java index 54fa477187..2bf8bd7dcf 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/AuthorizationService.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/AuthorizationService.java @@ -15,7 +15,6 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.SSLParser; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request; @@ -28,6 +27,7 @@ import com.predic8.membrane.core.interceptor.oauth2client.rf.token.JWSSigner; import com.predic8.membrane.core.interceptor.session.Session; import com.predic8.membrane.core.resolver.ResolverMap; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.HttpClient; import com.predic8.membrane.core.transport.http.client.HttpClientConfiguration; import com.predic8.membrane.core.transport.ssl.PEMSupport; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/DynamicRegistration.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/DynamicRegistration.java index 6ddef0f00e..ac7c9df4c7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/DynamicRegistration.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/DynamicRegistration.java @@ -14,12 +14,12 @@ package com.predic8.membrane.core.interceptor.oauth2.authorizationservice; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.oauth2.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.transport.ssl.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/flows/CodeFlow.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/flows/CodeFlow.java index fdafefb41a..c8203866f7 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/flows/CodeFlow.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/flows/CodeFlow.java @@ -47,7 +47,7 @@ protected Outcome respondWithAuthorizationCodeAndRedirect(Exchange exc, String c String state = null; String redirectUrl; - String rawQuery = URLUtil.getPathQuery(authServer.getRouter().getUriFactory(),exc.getRequestURI()); + String rawQuery = URLUtil.getPathQuery(authServer.getRouter().getConfiguration().getUriFactory(),exc.getRequestURI()); if(rawQuery.startsWith(authServer.getBasePath() + "/")) rawQuery = rawQuery.substring(authServer.getBasePath().length() + 1); if(rawQuery.startsWith("?")) diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/processors/EndpointProcessor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/processors/EndpointProcessor.java index ca178ef88c..3547ef41dc 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/processors/EndpointProcessor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/processors/EndpointProcessor.java @@ -28,7 +28,7 @@ public abstract class EndpointProcessor { public EndpointProcessor(OAuth2AuthorizationServerInterceptor authServer){ this.authServer = authServer; - uriFactory = authServer.getRouter().getUriFactory(); + uriFactory = authServer.getRouter().getConfiguration().getUriFactory(); } } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/ParameterizedRequest.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/ParameterizedRequest.java index 14baa39972..54a3221cf0 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/ParameterizedRequest.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/ParameterizedRequest.java @@ -58,7 +58,7 @@ public ParameterizedRequest(OAuth2AuthorizationServerInterceptor authServer, Exc } private Map getValidParams(Exchange exc) throws Exception { - Map params = URLParamUtil.getParams(authServer.getRouter().getUriFactory(), exc, ERROR); + Map params = URLParamUtil.getParams(authServer.getRouter().getConfiguration().getUriFactory(), exc, ERROR); params.putAll(parseAuthentication(exc)); removeEmptyParams(params); return params; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/tokenrequest/TokenFlowDecider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/tokenrequest/TokenFlowDecider.java index af58e459f0..d883892288 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/tokenrequest/TokenFlowDecider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/request/tokenrequest/TokenFlowDecider.java @@ -35,7 +35,7 @@ public class TokenFlowDecider { ParameterizedRequest flow; public TokenFlowDecider(OAuth2AuthorizationServerInterceptor authServer, Exchange exc) throws Exception { - params = URLParamUtil.getParams(authServer.getRouter().getUriFactory(), exc, ERROR); + params = URLParamUtil.getParams(authServer.getRouter().getConfiguration().getUriFactory(), exc, ERROR); flow = new ErrorFlow(authServer,exc); if(getGrantType() == null) return; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerJwtTokenGenerator.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerJwtTokenGenerator.java index dea9aa879d..13e678f14a 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerJwtTokenGenerator.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerJwtTokenGenerator.java @@ -15,9 +15,9 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.Blob; import com.predic8.membrane.core.interceptor.session.JwtSessionManager; +import com.predic8.membrane.core.router.*; import org.jose4j.json.JsonUtil; import org.jose4j.jwk.JsonWebKey; import org.jose4j.jwk.RsaJsonWebKey; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerTokenGenerator.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerTokenGenerator.java index 37c0197d08..d13e6a8278 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerTokenGenerator.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/BearerTokenGenerator.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.interceptor.oauth2.tokengenerators; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.math.BigInteger; import java.security.SecureRandom; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/TokenGenerator.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/TokenGenerator.java index 88d8ee0482..f9e6c9dc9b 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/TokenGenerator.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2/tokengenerators/TokenGenerator.java @@ -13,7 +13,7 @@ package com.predic8.membrane.core.interceptor.oauth2.tokengenerators; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import java.util.Map; import java.util.NoSuchElementException; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/OAuth2Resource2Interceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/OAuth2Resource2Interceptor.java index bfee6294d5..f9056a6186 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/OAuth2Resource2Interceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/OAuth2Resource2Interceptor.java @@ -95,7 +95,7 @@ public void init() { throw new ConfigurationException("Could not init auth in OAuth2Resource2Interceptor",e); } statistics = new OAuth2Statistics(); - uriFactory = router.getUriFactory(); + uriFactory = router.getConfiguration().getUriFactory(); publicUrlManager.init(auth, callbackPath); accessTokenRevalidator.init(auth, statistics); @@ -201,7 +201,7 @@ public final Outcome handleRequestInternal(Exchange exc) throws Exception { } private String replaceUrlPath(String url, String newPath) { - URI uri = router.getUriFactory().createWithoutException(url); + URI uri = router.getConfiguration().getUriFactory().createWithoutException(url); return uri.getScheme() + "://" + uri.getHost() + (uri.getPort() != -1 ? ":" + uri.getPort() : "") + newPath; } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/rf/SessionAuthorizer.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/rf/SessionAuthorizer.java index 08214dfde9..127519963f 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/rf/SessionAuthorizer.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2client/rf/SessionAuthorizer.java @@ -15,7 +15,6 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.Outcome; @@ -25,6 +24,7 @@ import com.predic8.membrane.core.interceptor.oauth2.OAuth2Statistics; import com.predic8.membrane.core.interceptor.oauth2.authorizationservice.AuthorizationService; import com.predic8.membrane.core.interceptor.session.Session; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java index 01d1413134..acaee2fe76 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java @@ -16,7 +16,6 @@ import com.floreysoft.jmte.message.*; import com.floreysoft.jmte.token.*; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; @@ -26,6 +25,7 @@ import com.predic8.membrane.core.interceptor.session.SessionManager; import com.predic8.membrane.core.interceptor.session.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.URI; import com.predic8.membrane.core.util.*; import org.apache.commons.lang3.*; @@ -78,7 +78,7 @@ public LoginDialog2( } public void init(DefaultRouter router) throws Exception { - uriFactory = router.getUriFactory(); + uriFactory = router.getConfiguration().getUriFactory(); wsi.init(router); router.getResolverMap().resolve(ResolverMap.combine(router.getBaseLocation(), wsi.getDocBase(), "index.html")).close(); diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginEndpoint.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginEndpoint.java index 63903ffdac..f2649da719 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginEndpoint.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginEndpoint.java @@ -17,7 +17,7 @@ //import com.bornium.security.oauth2openid.providers.Session; //import com.bornium.security.oauth2openid.server.AuthorizationServer; //import com.bornium.security.oauth2openid.server.endpoints.Endpoint; -//import com.predic8.membrane.core.Router; +//import com.predic8.membrane.core.router.Router; //import com.predic8.membrane.core.interceptor.authentication.session.UserDataProvider; //import com.predic8.membrane.core.interceptor.oauth2.ClaimRenamer; //import com.predic8.membrane.core.interceptor.oauth2.ConsentPageFile; @@ -45,7 +45,7 @@ // this.csf = csf; // loginDialog = new LoginDialog2(userDataProvider,null,sessionManager,null,loginDialogLocation,loginPath,true,null); // loginDialog.init(router); -// uriFactory = router.getUriFactory(); +// uriFactory = router.getConfiguration().getUriFactory(); // } // // @Override diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/OAuth2AuthorizationServer2Interceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/OAuth2AuthorizationServer2Interceptor.java index 00c7747368..dc43785594 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/OAuth2AuthorizationServer2Interceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/OAuth2AuthorizationServer2Interceptor.java @@ -20,7 +20,7 @@ //import com.predic8.membrane.annot.MCAttribute; //import com.predic8.membrane.annot.MCChildElement; //import com.predic8.membrane.annot.MCElement; -//import com.predic8.membrane.core.Router; +//import com.predic8.membrane.core.router.Router; //import com.predic8.membrane.core.exchange.Exchange; //import com.predic8.membrane.core.http.Response; //import com.predic8.membrane.core.interceptor.AbstractInterceptorWithSession; @@ -185,7 +185,7 @@ // } // // private Outcome disableUnsupportedFlows(Exchange exc) throws Exception { -// Map params = URLParamUtil.getParams(getRouter().getUriFactory(), exc); +// Map params = URLParamUtil.getParams(getRouter().getConfiguration().getUriFactory(), exc); // String responseType = params.get(Constants.PARAMETER_RESPONSE_TYPE); // // if(responseType != null && (responseType.equals(Constants.PARAMETER_VALUE_CODE) || responseType.equals(Constants.PARAMETER_VALUE_TOKEN))){ diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/rest/RESTInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/rest/RESTInterceptor.java index 3810d646d5..627e089198 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/rest/RESTInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/rest/RESTInterceptor.java @@ -75,7 +75,7 @@ protected Response json(JSONContent content) throws Exception { } private Outcome dispatchRequest(Exchange exc) throws Exception { - String path = router.getUriFactory().create(exc.getDestinations().getFirst()).getPath(); + String path = router.getConfiguration().getUriFactory().create(exc.getDestinations().getFirst()).getPath(); for (Method m : getClass().getMethods() ) { Mapping a = m.getAnnotation(Mapping.class); if (a==null) continue; @@ -97,7 +97,7 @@ private Object[] getParameters(Exchange exc, String path, Method m, Matcher matc } private QueryParameter getQueryParameter(Exchange exc, Matcher matcher) throws Exception { - return new QueryParameter(getParams(router.getUriFactory(), exc, ERROR), matcher); + return new QueryParameter(getParams(router.getConfiguration().getUriFactory(), exc, ERROR), matcher); } /** diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptor.java index c732689f6f..1b283228c4 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptor.java @@ -149,7 +149,7 @@ public Outcome handleRequest(Exchange exc) { ListIterator it = exc.getDestinations().listIterator(); while (it.hasNext()) { String dest = it.next(); - String pathQuery = getPathQueryOrSetError(router.getUriFactory(), dest, exc); + String pathQuery = getPathQueryOrSetError(router.getConfiguration().getUriFactory(), dest, exc); if (pathQuery == null) return RETURN; @@ -189,7 +189,7 @@ public Outcome handleRequest(Exchange exc) { if (mapping != null && mapping.do_ == REWRITE) { String newDest = replace(exc.getRequest().getUri(), mapping); if (newDest.contains("://")) { - newDest = getPathQueryOrSetError(router.getUriFactory(), newDest, exc); + newDest = getPathQueryOrSetError(router.getConfiguration().getUriFactory(), newDest, exc); if (newDest == null) return RETURN; } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/schemavalidation/SchematronValidator.java b/core/src/main/java/com/predic8/membrane/core/interceptor/schemavalidation/SchematronValidator.java index 624278e556..3dae57971c 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/schemavalidation/SchematronValidator.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/schemavalidation/SchematronValidator.java @@ -14,11 +14,11 @@ package com.predic8.membrane.core.interceptor.schemavalidation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.multipart.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.text.*; import org.slf4j.*; import org.springframework.beans.factory.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptor.java index 5c1c00075f..e7e3f3f831 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptor.java @@ -85,7 +85,7 @@ public String rewrite(String path) { path = Integer.toString(n); } } - path = "./" + URLUtil.getName(router.getUriFactory(), exc.getDestinations().getFirst()) + "?xsd=" + path; + path = "./" + URLUtil.getName(router.getConfiguration().getUriFactory(), exc.getDestinations().getFirst()) + "?xsd=" + path; } catch (Exception e) { throw new RuntimeException(e); } @@ -190,7 +190,7 @@ private Outcome handleRequestInternal(final Exchange exc) throws Exception { exc.getResponse().getHeader().setContentType(TEXT_XML); } if (exc.getRequestURI().contains("?xsd=")) { - Map params = URLParamUtil.getParams(router.getUriFactory(), exc, URLParamUtil.DuplicateKeyOrInvalidFormStrategy.ERROR); + Map params = URLParamUtil.getParams(router.getConfiguration().getUriFactory(), exc, URLParamUtil.DuplicateKeyOrInvalidFormStrategy.ERROR); if (params.containsKey("xsd")) { int n = Integer.parseInt(params.get("xsd")); String path; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptor.java index c9ede2d6e1..e5c8445005 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptor.java @@ -14,11 +14,11 @@ package com.predic8.membrane.core.interceptor.server; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.URI; import org.apache.commons.lang3.*; import org.jetbrains.annotations.*; @@ -164,7 +164,7 @@ public Outcome handleRequest(Exchange exc) { String encodedPath = path.replace(" ", "%20"); try { - if (escapesPath(encodedPath) || escapesPath(router.getUriFactory().create(encodedPath).getPath())) { + if (escapesPath(encodedPath) || escapesPath(router.getConfiguration().getUriFactory().create(encodedPath).getPath())) { exc.setResponse(Response.badRequest().body("").build()); return null; } @@ -178,7 +178,7 @@ public Outcome handleRequest(Exchange exc) { private @Nullable URI getRequestUri(Exchange exc) { try { - return router.getUriFactory().create(exc.getDestinations().getFirst()); + return router.getConfiguration().getUriFactory().create(exc.getDestinations().getFirst()); } catch (URISyntaxException e) { internal(router.getConfiguration().isProduction(), getDisplayName()) .addSubSee("uri-creation") diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/session/InMemorySessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/session/InMemorySessionManager.java index e23fc60dc1..8240611f14 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/session/InMemorySessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/session/InMemorySessionManager.java @@ -16,9 +16,9 @@ import com.google.common.cache.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/session/JwtSessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/session/JwtSessionManager.java index d6f9b2115c..a9161e1b70 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/session/JwtSessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/session/JwtSessionManager.java @@ -16,9 +16,9 @@ import com.bornium.security.oauth2openid.token.*; import com.google.common.cache.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; +import com.predic8.membrane.core.router.*; import org.jose4j.json.*; import org.jose4j.jwk.*; import org.jose4j.jwt.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/session/MemcachedSessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/session/MemcachedSessionManager.java index 50d4e9d92e..4620e64726 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/session/MemcachedSessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/session/MemcachedSessionManager.java @@ -17,9 +17,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.HeaderField; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.MemcachedConnector; import net.rubyeye.xmemcached.MemcachedClient; import net.rubyeye.xmemcached.exception.MemcachedException; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/session/RedisSessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/session/RedisSessionManager.java index 5fba074176..242d622b47 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/session/RedisSessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/session/RedisSessionManager.java @@ -17,9 +17,9 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.slf4j.*; import redis.clients.jedis.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/session/SessionManager.java b/core/src/main/java/com/predic8/membrane/core/interceptor/session/SessionManager.java index 8e7bf825d4..4f097616cb 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/session/SessionManager.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/session/SessionManager.java @@ -16,7 +16,6 @@ import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.predic8.membrane.annot.MCAttribute; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.http.HeaderField; @@ -24,6 +23,7 @@ import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.oauth2.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/soap/WebServiceExplorerInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/soap/WebServiceExplorerInterceptor.java index fe3d195135..5ae1915b62 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/soap/WebServiceExplorerInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/soap/WebServiceExplorerInterceptor.java @@ -168,7 +168,7 @@ private String getClientURL(Exchange exc) { @Mapping("(?!.*operation)([^?]*)") public Response createSOAPUIResponse(QueryParameter params, final String relativeRootPath, final Exchange exc) throws Exception { try { - final String myPath = router.getUriFactory().create(exc.getRequestURI()).getPath(); + final String myPath = router.getConfiguration().getUriFactory().create(exc.getRequestURI()).getPath(); final Definitions w = getParsedWSDL(); final Service service = getService(w); diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/statistics/StatisticsProvider.java b/core/src/main/java/com/predic8/membrane/core/interceptor/statistics/StatisticsProvider.java index 5029207e5f..4ec3b72e91 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/statistics/StatisticsProvider.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/statistics/StatisticsProvider.java @@ -75,12 +75,12 @@ public Outcome handleRequest(Exchange exc) { } try { - int offset = URLParamUtil.getIntParam(router.getUriFactory(), exc, "offset"); - int max = URLParamUtil.getIntParam(router.getUriFactory(), exc, "max"); + int offset = URLParamUtil.getIntParam(router.getConfiguration().getUriFactory(), exc, "offset"); + int max = URLParamUtil.getIntParam(router.getConfiguration().getUriFactory(), exc, "max"); int total = getTotal(con); Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); - ResultSet r = s.executeQuery(getOrderedStatistics(router.getUriFactory(), exc)); + ResultSet r = s.executeQuery(getOrderedStatistics(router.getConfiguration().getUriFactory(), exc)); createJson(exc, r, offset, max, total); } catch (Exception e) { log.warn("Could not retrieve statistics.", e); diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/stomp/STOMPClient.java b/core/src/main/java/com/predic8/membrane/core/interceptor/stomp/STOMPClient.java index b112e506c8..79cce77bfd 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/stomp/STOMPClient.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/stomp/STOMPClient.java @@ -21,6 +21,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.transport.ssl.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/tunnel/WebSocketInterceptor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/tunnel/WebSocketInterceptor.java index 1052a63824..96ff6fc3ab 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/tunnel/WebSocketInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/tunnel/WebSocketInterceptor.java @@ -46,7 +46,7 @@ public class WebSocketInterceptor extends AbstractInterceptor { public void init() { super.init(); try { - pathQuery = url == null ? null : URLUtil.getPathQuery(getRouter().getUriFactory(), url); + pathQuery = url == null ? null : URLUtil.getPathQuery(getRouter().getConfiguration().getUriFactory(), url); } catch (URISyntaxException e) { throw new ConfigurationException("Could not parse " + url,e); } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/xslt/XSLTTransformer.java b/core/src/main/java/com/predic8/membrane/core/interceptor/xslt/XSLTTransformer.java index cc06b726f3..86a2728189 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/xslt/XSLTTransformer.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/xslt/XSLTTransformer.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.xslt; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import org.slf4j.*; import javax.xml.transform.*; diff --git a/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java b/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java index 34704d8522..b5543c14c4 100644 --- a/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java @@ -13,7 +13,7 @@ package com.predic8.membrane.core.jmx; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.proxies.Proxy; import com.predic8.membrane.core.proxies.ServiceProxy; import org.springframework.jmx.export.annotation.ManagedAttribute; diff --git a/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java b/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java index c0b52846b6..9a85457128 100644 --- a/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java @@ -13,7 +13,7 @@ package com.predic8.membrane.core.jmx; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.proxies.ServiceProxy; import org.springframework.jmx.export.annotation.ManagedAttribute; import org.springframework.jmx.export.annotation.ManagedOperation; diff --git a/core/src/main/java/com/predic8/membrane/core/kubernetes/KubernetesWatcher.java b/core/src/main/java/com/predic8/membrane/core/kubernetes/KubernetesWatcher.java index 6f0d8dbfc1..ae1b6477cc 100644 --- a/core/src/main/java/com/predic8/membrane/core/kubernetes/KubernetesWatcher.java +++ b/core/src/main/java/com/predic8/membrane/core/kubernetes/KubernetesWatcher.java @@ -19,11 +19,11 @@ import com.predic8.membrane.annot.beanregistry.BeanDefinition; import com.predic8.membrane.annot.beanregistry.BeanRegistryImplementation; import com.predic8.membrane.annot.yaml.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.spring.*; import com.predic8.membrane.core.interceptor.kubernetes.*; import com.predic8.membrane.core.kubernetes.client.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.slf4j.*; import javax.annotation.*; diff --git a/core/src/main/java/com/predic8/membrane/core/lang/ExchangeExpression.java b/core/src/main/java/com/predic8/membrane/core/lang/ExchangeExpression.java index 108876fa5e..69c31b956f 100644 --- a/core/src/main/java/com/predic8/membrane/core/lang/ExchangeExpression.java +++ b/core/src/main/java/com/predic8/membrane/core/lang/ExchangeExpression.java @@ -15,7 +15,6 @@ package com.predic8.membrane.core.lang; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.xml.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; @@ -23,6 +22,7 @@ import com.predic8.membrane.core.lang.jsonpath.*; import com.predic8.membrane.core.lang.spel.*; import com.predic8.membrane.core.lang.xpath.*; +import com.predic8.membrane.core.router.*; /** * Language expression that takes an exchange as input diff --git a/core/src/main/java/com/predic8/membrane/core/lang/ScriptingUtils.java b/core/src/main/java/com/predic8/membrane/core/lang/ScriptingUtils.java index 16be3a4f3d..466fe974c5 100644 --- a/core/src/main/java/com/predic8/membrane/core/lang/ScriptingUtils.java +++ b/core/src/main/java/com/predic8/membrane/core/lang/ScriptingUtils.java @@ -17,13 +17,13 @@ package com.predic8.membrane.core.lang; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.Interceptor.*; import com.predic8.membrane.core.lang.groovy.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.openapi.util.*; +import com.predic8.membrane.core.router.*; import org.slf4j.*; import java.util.*; @@ -62,7 +62,7 @@ public static HashMap createParameterBindings(Router router, Exc if (flow == REQUEST) { try { - Map qParams = getParams(router.getUriFactory(), exc, MERGE_USING_COMMA); + Map qParams = getParams(router.getConfiguration().getUriFactory(), exc, MERGE_USING_COMMA); params.put("params", qParams); params.put("param", qParams); } catch (Exception e) { diff --git a/core/src/main/java/com/predic8/membrane/core/lang/groovy/GroovyExchangeExpression.java b/core/src/main/java/com/predic8/membrane/core/lang/groovy/GroovyExchangeExpression.java index 6118de35de..45e7c12484 100644 --- a/core/src/main/java/com/predic8/membrane/core/lang/groovy/GroovyExchangeExpression.java +++ b/core/src/main/java/com/predic8/membrane/core/lang/groovy/GroovyExchangeExpression.java @@ -14,10 +14,10 @@ package com.predic8.membrane.core.lang.groovy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.Interceptor; import com.predic8.membrane.core.lang.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.ConfigurationException; import groovy.lang.*; import org.codehaus.groovy.control.*; diff --git a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxy.java b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxy.java index 3b53456ea5..6fbcc93afd 100644 --- a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxy.java @@ -204,7 +204,7 @@ private Map getOpenAPIMap() { url = rec.spec.getRewrite().basePath; } try { - paths.put(UriUtil.getPathFromURL(router.getUriFactory(), url), rec); + paths.put(UriUtil.getPathFromURL(router.getConfiguration().getUriFactory(), url), rec); } catch (URISyntaxException e) { log.error("Cannot parse URL {} Error: {}", url,e.getMessage()); throw new RuntimeException("Cannot parse URL %s Error: %s".formatted(url,e.getMessage()),e); diff --git a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptor.java b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptor.java index ab5e899e9a..189fd8eeb6 100644 --- a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptor.java @@ -197,14 +197,14 @@ private ValidationErrors validateRequest(OpenAPIRecord rec, Exchange exc) throws if (!shouldValidate(rec.getApi(), REQUESTS)) return new ValidationErrors(); - return new OpenAPIValidator(router.getUriFactory(), rec).validate(getOpenapiValidatorRequest(exc)); + return new OpenAPIValidator(router.getConfiguration().getUriFactory(), rec).validate(getOpenapiValidatorRequest(exc)); } private ValidationErrors validateResponse(OpenAPIRecord rec, Exchange exc) throws IOException, ParseException { ValidationErrors errors = new ValidationErrors(); if (!shouldValidate(rec.getApi(), RESPONSES)) return errors; - return new OpenAPIValidator(router.getUriFactory(), rec).validateResponse(getOpenapiValidatorRequest(exc), getOpenapiValidatorResponse(exc)); + return new OpenAPIValidator(router.getConfiguration().getUriFactory(), rec).validateResponse(getOpenapiValidatorRequest(exc), getOpenapiValidatorResponse(exc)); } public boolean validationDetails(OpenAPI api) { diff --git a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisher.java b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisher.java index 395a86272f..edbf88e880 100644 --- a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisher.java +++ b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisher.java @@ -16,9 +16,9 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.node.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import groovy.text.*; import io.swagger.v3.oas.models.*; import io.swagger.v3.parser.*; @@ -135,7 +135,7 @@ private Outcome returnNoFound(Exchange exc, String id) { private Outcome returnOpenApiAsYaml(Exchange exc, OpenAPIRecord rec, Router router) throws IOException, URISyntaxException { exc.setResponse(ok().yaml() - .body(omYaml.writeValueAsBytes(rec.rewriteOpenAPI(exc, router.getUriFactory()))) + .body(omYaml.writeValueAsBytes(rec.rewriteOpenAPI(exc, router.getConfiguration().getUriFactory()))) .build()); return RETURN; } @@ -149,7 +149,7 @@ private String renderOverviewTemplate(Router router) { tempCtx.put("apis", apis); tempCtx.put("pathUi", PATH_UI); tempCtx.put("path", PATH); - tempCtx.put("uriFactory", router.getUriFactory()); + tempCtx.put("uriFactory", router.getConfiguration().getUriFactory()); return apiOverviewHtmlTemplate.make(tempCtx).toString(); } diff --git a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptor.java b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptor.java index 3255c31b71..bdb8677baa 100644 --- a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptor.java @@ -170,7 +170,7 @@ private Outcome returnNoFound(Exchange exc, String id) { private Outcome returnOpenApiAsYaml(Exchange exc, OpenAPIRecord rec) throws IOException, URISyntaxException { exc.setResponse(ok().yaml() - .body(omYaml.writeValueAsBytes(rec.rewriteOpenAPI(exc, getRouter().getUriFactory()))) + .body(omYaml.writeValueAsBytes(rec.rewriteOpenAPI(exc, getRouter().getConfiguration().getUriFactory()))) .build()); return RETURN; } @@ -211,7 +211,7 @@ private String renderOverviewTemplate() { tempCtx.put("apis", apis); tempCtx.put("pathUi", PATH_UI); tempCtx.put("path", PATH); - tempCtx.put("uriFactory", router.getUriFactory()); + tempCtx.put("uriFactory", router.getConfiguration().getUriFactory()); return apiOverviewHtmlTemplate.make(tempCtx).toString(); } diff --git a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactory.java b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactory.java index 4103440435..44fc955b06 100644 --- a/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactory.java +++ b/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactory.java @@ -17,9 +17,9 @@ package com.predic8.membrane.core.openapi.serviceproxy; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.openapi.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import io.swagger.parser.*; import io.swagger.v3.oas.models.*; diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/AbstractProxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/AbstractProxy.java index 1c8eb2dc3d..3d5fb95085 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/AbstractProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/AbstractProxy.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.proxies; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.ProxyAware; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.stats.*; import org.apache.commons.lang3.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/AbstractServiceProxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/AbstractServiceProxy.java index 44ffb320e9..fb8086dfc6 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/AbstractServiceProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/AbstractServiceProxy.java @@ -15,7 +15,6 @@ package com.predic8.membrane.core.proxies; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.config.xml.*; @@ -23,6 +22,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.lang.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ssl.*; import static com.predic8.membrane.core.lang.ExchangeExpression.Language.*; diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/Proxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/Proxy.java index 911280dba7..2af5611400 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/Proxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/Proxy.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.stats.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java index 2eb4c99d37..84298ad39a 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java @@ -15,7 +15,6 @@ import com.google.common.collect.*; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.rewrite.*; @@ -24,6 +23,7 @@ import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.openapi.util.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.util.*; import com.predic8.wsdl.*; @@ -214,7 +214,7 @@ private Service getServiceByName(List services, String serviceName) { private void setTarget(URL url) { if (wsdl.startsWith("internal:")) { try { - target.setUrl(UriUtil.getPathFromURL(router.getUriFactory(), wsdl)); // TODO + target.setUrl(UriUtil.getPathFromURL(router.getConfiguration().getUriFactory(), wsdl)); // TODO } catch (URISyntaxException e) { throw new RuntimeException(e); } @@ -312,7 +312,7 @@ private void renameMe() { private @NotNull String getReplacementName(String keyPath) { try { - return URLUtil.getName(router.getUriFactory(), keyPath); + return URLUtil.getName(router.getConfiguration().getUriFactory(), keyPath); } catch (URISyntaxException e) { log.error("Error parsing URL {}", keyPath, e); throw new RuntimeException("Check!"); diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/SSLProxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/SSLProxy.java index 793aa1849b..3442923a13 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/SSLProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/SSLProxy.java @@ -18,14 +18,15 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.SSLParser; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.sslinterceptor.SSLInterceptor; import com.predic8.membrane.core.stats.RuleStatisticCollector; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.ConnectionConfiguration; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.transport.ssl.SSLContext; import com.predic8.membrane.core.transport.ssl.SSLExchange; import com.predic8.membrane.core.transport.ssl.SSLProvider; diff --git a/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java b/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java index 9332178b3d..3f6a9ea9ad 100644 --- a/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java +++ b/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java @@ -16,9 +16,9 @@ import com.google.common.base.Objects; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.kubernetes.*; import com.predic8.membrane.core.kubernetes.client.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.util.*; import com.predic8.membrane.core.util.functionalInterfaces.*; diff --git a/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java b/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java index 55f0bf577e..0cb51cb60e 100644 --- a/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java +++ b/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java @@ -15,12 +15,12 @@ package com.predic8.membrane.core.resolver; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.Proxy; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.functionalInterfaces.*; import org.jetbrains.annotations.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/AbstractRouter.java b/core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java similarity index 96% rename from core/src/main/java/com/predic8/membrane/core/AbstractRouter.java rename to core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java index f408f7db89..2f39dcaa11 100644 --- a/core/src/main/java/com/predic8/membrane/core/AbstractRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.core.proxies.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/Configuration.java b/core/src/main/java/com/predic8/membrane/core/router/Configuration.java similarity index 99% rename from core/src/main/java/com/predic8/membrane/core/Configuration.java rename to core/src/main/java/com/predic8/membrane/core/router/Configuration.java index aeca9ab180..712beb7c03 100644 --- a/core/src/main/java/com/predic8/membrane/core/Configuration.java +++ b/core/src/main/java/com/predic8/membrane/core/router/Configuration.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; diff --git a/core/src/main/java/com/predic8/membrane/core/DefaultMainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java similarity index 97% rename from core/src/main/java/com/predic8/membrane/core/DefaultMainComponents.java rename to core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java index 5de49b9eb2..f8629c35ac 100644 --- a/core/src/main/java/com/predic8/membrane/core/DefaultMainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java @@ -12,10 +12,10 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; -import com.predic8.membrane.annot.*; import com.predic8.membrane.annot.beanregistry.*; +import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.spring.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; @@ -25,6 +25,7 @@ import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.util.*; import org.slf4j.*; import org.springframework.beans.*; @@ -183,10 +184,6 @@ public BeanRegistry getRegistry() { return registry; } - public URIFactory getUriFactory() { - throw new UnsupportedOperationException(); - } - @Override public ApplicationContext getBeanFactory() { return beanFactory; diff --git a/core/src/main/java/com/predic8/membrane/core/DefaultRouter.java b/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java similarity index 98% rename from core/src/main/java/com/predic8/membrane/core/DefaultRouter.java rename to core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java index f63f1f8d27..fcbc37f1aa 100644 --- a/core/src/main/java/com/predic8/membrane/core/DefaultRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java @@ -12,11 +12,13 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.annot.*; import com.predic8.membrane.annot.beanregistry.*; +import com.predic8.membrane.core.*; import com.predic8.membrane.core.RuleManager.*; +import com.predic8.membrane.core.cli.*; import com.predic8.membrane.core.config.spring.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; @@ -32,6 +34,7 @@ import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.util.*; import org.slf4j.*; import org.springframework.beans.*; @@ -465,10 +468,6 @@ public void applyConfiguration(Configuration configuration) { this.configuration = configuration; } - public URIFactory getUriFactory() { - return configuration.getUriFactory(); - } - /** * Sets the configuration object for this router. * Only used for xml diff --git a/core/src/main/java/com/predic8/membrane/core/DummyTestRouter.java b/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java similarity index 96% rename from core/src/main/java/com/predic8/membrane/core/DummyTestRouter.java rename to core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java index fbca1b94e3..fd1435fefc 100644 --- a/core/src/main/java/com/predic8/membrane/core/DummyTestRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java @@ -12,8 +12,9 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; +import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.kubernetes.client.*; @@ -21,6 +22,7 @@ import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.util.*; import org.springframework.context.*; @@ -48,8 +50,6 @@ public class DummyTestRouter extends AbstractRouter { private DNSCache dnsCache = new DNSCache(); - private URIFactory uriFactory = new URIFactory(); - private final Statistics statistics = new Statistics(); private ApplicationContext applicationContext; @@ -117,11 +117,6 @@ public HttpTransport getTransport() { return transport; } - @Override - public URIFactory getUriFactory() { - return uriFactory; - } - @Override public ApplicationContext getBeanFactory() { return applicationContext; diff --git a/core/src/main/java/com/predic8/membrane/core/MainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java similarity index 90% rename from core/src/main/java/com/predic8/membrane/core/MainComponents.java rename to core/src/main/java/com/predic8/membrane/core/router/MainComponents.java index 003b3efa5b..855dd7642c 100644 --- a/core/src/main/java/com/predic8/membrane/core/MainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java @@ -12,13 +12,15 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; +import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.util.*; import org.springframework.context.*; @@ -38,8 +40,6 @@ public interface MainComponents { DNSCache getDnsCache(); - URIFactory getUriFactory(); - ApplicationContext getBeanFactory(); HttpClientFactory getHttpClientFactory(); diff --git a/core/src/main/java/com/predic8/membrane/core/Router.java b/core/src/main/java/com/predic8/membrane/core/router/Router.java similarity index 95% rename from core/src/main/java/com/predic8/membrane/core/Router.java rename to core/src/main/java/com/predic8/membrane/core/router/Router.java index f078c94926..da3d7bc599 100644 --- a/core/src/main/java/com/predic8/membrane/core/Router.java +++ b/core/src/main/java/com/predic8/membrane/core/router/Router.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.core.proxies.*; import org.springframework.context.*; diff --git a/core/src/main/java/com/predic8/membrane/core/RouterXmlBootstrap.java b/core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java similarity index 98% rename from core/src/main/java/com/predic8/membrane/core/RouterXmlBootstrap.java rename to core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java index d3ebf731bf..7c784940cb 100644 --- a/core/src/main/java/com/predic8/membrane/core/RouterXmlBootstrap.java +++ b/core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.core.config.spring.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/RuleReinitializer.java b/core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java similarity index 98% rename from core/src/main/java/com/predic8/membrane/core/RuleReinitializer.java rename to core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java index 4d69875149..33df53f28d 100644 --- a/core/src/main/java/com/predic8/membrane/core/RuleReinitializer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.core.proxies.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java index b3bad0a542..c91c066706 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java @@ -14,8 +14,8 @@ package com.predic8.membrane.core.router.hotdeploy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.spring.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java index 3ecf941099..4d09bc9d54 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.router.hotdeploy; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; public interface HotDeployer { diff --git a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java index 35c4c6a761..25e29897ae 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.router.hotdeploy; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; public class NullHotDeployer implements HotDeployer { @Override diff --git a/core/src/main/java/com/predic8/membrane/core/sslinterceptor/RouterIpResolverInterceptor.java b/core/src/main/java/com/predic8/membrane/core/sslinterceptor/RouterIpResolverInterceptor.java index b2539010ee..097d31c2d4 100644 --- a/core/src/main/java/com/predic8/membrane/core/sslinterceptor/RouterIpResolverInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/sslinterceptor/RouterIpResolverInterceptor.java @@ -18,12 +18,12 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.SSLParser; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.Outcome; import com.predic8.membrane.core.http.Request; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.HttpClient; import com.predic8.membrane.core.transport.http.client.HttpClientConfiguration; import com.predic8.membrane.core.transport.ssl.SSLContext; diff --git a/core/src/main/java/com/predic8/membrane/core/sslinterceptor/SSLInterceptor.java b/core/src/main/java/com/predic8/membrane/core/sslinterceptor/SSLInterceptor.java index 298ddd70aa..7d3ab7fdf1 100644 --- a/core/src/main/java/com/predic8/membrane/core/sslinterceptor/SSLInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/sslinterceptor/SSLInterceptor.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.sslinterceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.Outcome; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ssl.SSLExchange; public interface SSLInterceptor { diff --git a/core/src/main/java/com/predic8/membrane/core/transport/Transport.java b/core/src/main/java/com/predic8/membrane/core/transport/Transport.java index f9581a11dd..fdf057f5a4 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/Transport.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/Transport.java @@ -14,11 +14,11 @@ package com.predic8.membrane.core.transport; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.rewrite.*; import com.predic8.membrane.core.model.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ssl.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpClient.java b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpClient.java index 4dcb2cf7d3..75dfe5ce0d 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpClient.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpClient.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.transport.http.ConnectionFactory.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.transport.http.client.protocol.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.util.*; import org.slf4j.*; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java index 46a191cc0a..92b6734184 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java @@ -15,9 +15,9 @@ package com.predic8.membrane.core.transport.http; import com.predic8.membrane.annot.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.model.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.ssl.*; import com.predic8.membrane.core.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/Statistics.java b/core/src/main/java/com/predic8/membrane/core/transport/http/streampump/Statistics.java similarity index 89% rename from core/src/main/java/com/predic8/membrane/core/Statistics.java rename to core/src/main/java/com/predic8/membrane/core/transport/http/streampump/Statistics.java index 3f732baf31..03c0307096 100644 --- a/core/src/main/java/com/predic8/membrane/core/Statistics.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/streampump/Statistics.java @@ -11,9 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; - -import com.predic8.membrane.core.transport.http.StreamPump; +package com.predic8.membrane.core.transport.http.streampump; public class Statistics { private final StreamPump.StreamPumpStats streamPumpStats = new StreamPump.StreamPumpStats(); diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/StreamPump.java b/core/src/main/java/com/predic8/membrane/core/transport/http/streampump/StreamPump.java similarity index 97% rename from core/src/main/java/com/predic8/membrane/core/transport/http/StreamPump.java rename to core/src/main/java/com/predic8/membrane/core/transport/http/streampump/StreamPump.java index 8a96befab6..ea07fb6d72 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/StreamPump.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/streampump/StreamPump.java @@ -12,11 +12,12 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core.transport.http; +package com.predic8.membrane.core.transport.http.streampump; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.model.*; import com.predic8.membrane.core.proxies.Proxy; +import com.predic8.membrane.core.transport.http.*; import org.slf4j.*; import javax.net.ssl.*; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/WebSocketStreamPump.java b/core/src/main/java/com/predic8/membrane/core/transport/http/streampump/WebSocketStreamPump.java similarity index 98% rename from core/src/main/java/com/predic8/membrane/core/transport/http/WebSocketStreamPump.java rename to core/src/main/java/com/predic8/membrane/core/transport/http/streampump/WebSocketStreamPump.java index 410c0f8ae1..b5628a6b42 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/WebSocketStreamPump.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/streampump/WebSocketStreamPump.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core.transport.http; +package com.predic8.membrane.core.transport.http.streampump; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.interceptor.Interceptor; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java b/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java index 6bc6ded6f8..b3760a7dc7 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.transport.ssl; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.kubernetes.client.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.ssl.acme.*; import com.predic8.membrane.core.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ws/WebSocketInterceptorInterface.java b/core/src/main/java/com/predic8/membrane/core/transport/ws/WebSocketInterceptorInterface.java index 08f4f9e76b..78d52c94f7 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ws/WebSocketInterceptorInterface.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ws/WebSocketInterceptorInterface.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.transport.ws; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; /** * Created by Predic8 on 12.04.2017. diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketLogInterceptor.java b/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketLogInterceptor.java index ee5fe9eff4..30397a1152 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketLogInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketLogInterceptor.java @@ -16,7 +16,7 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ws.WebSocketFrame; import com.predic8.membrane.core.transport.ws.WebSocketInterceptorInterface; import com.predic8.membrane.core.transport.ws.WebSocketSender; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketSpringInterceptor.java b/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketSpringInterceptor.java index 7df8bb2fcb..b7b62ddf14 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketSpringInterceptor.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketSpringInterceptor.java @@ -18,7 +18,7 @@ import com.predic8.membrane.annot.MCAttribute; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ws.WebSocketFrame; import com.predic8.membrane.core.transport.ws.WebSocketInterceptorInterface; import com.predic8.membrane.core.transport.ws.WebSocketSender; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketStompReassembler.java b/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketStompReassembler.java index 732f546274..f56245cb66 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketStompReassembler.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ws/interceptors/WebSocketStompReassembler.java @@ -16,12 +16,12 @@ import com.predic8.membrane.annot.MCChildElement; import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Body; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.interceptor.Interceptor; import com.predic8.membrane.core.interceptor.Outcome; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ws.WebSocketFrame; import com.predic8.membrane.core.transport.ws.WebSocketInterceptorInterface; import com.predic8.membrane.core.transport.ws.WebSocketSender; diff --git a/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java b/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java index 908470963b..112a14ef2f 100644 --- a/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java +++ b/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java @@ -15,7 +15,7 @@ package com.predic8.membrane.core.util.jdbc; import com.predic8.membrane.annot.MCAttribute; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.util.ConfigurationException; import javax.sql.DataSource; diff --git a/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java b/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java index 5880cea797..f068a51506 100644 --- a/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java +++ b/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java @@ -14,6 +14,7 @@ package com.predic8.membrane; import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; public abstract class AbstractTestWithRouter { diff --git a/core/src/test/java/com/predic8/membrane/core/DefaultRouterTest.java b/core/src/test/java/com/predic8/membrane/core/DefaultRouterTest.java index 82631db90e..3095b0bf34 100644 --- a/core/src/test/java/com/predic8/membrane/core/DefaultRouterTest.java +++ b/core/src/test/java/com/predic8/membrane/core/DefaultRouterTest.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/MockRouter.java b/core/src/test/java/com/predic8/membrane/core/MockRouter.java index ad7a4fa899..e5fef3393f 100644 --- a/core/src/test/java/com/predic8/membrane/core/MockRouter.java +++ b/core/src/test/java/com/predic8/membrane/core/MockRouter.java @@ -14,6 +14,7 @@ package com.predic8.membrane.core; import com.predic8.membrane.core.exchangestore.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; public class MockRouter extends DefaultRouter { diff --git a/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java b/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java index 4503a410a1..ccae7bbe23 100644 --- a/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java +++ b/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.Proxy; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.params.*; import org.junit.jupiter.params.provider.*; diff --git a/core/src/test/java/com/predic8/membrane/core/SimpleTest.java b/core/src/test/java/com/predic8/membrane/core/SimpleTest.java index 65500f6dc3..9528103eb5 100644 --- a/core/src/test/java/com/predic8/membrane/core/SimpleTest.java +++ b/core/src/test/java/com/predic8/membrane/core/SimpleTest.java @@ -13,6 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/TestRouter.java b/core/src/test/java/com/predic8/membrane/core/TestRouter.java index c5df8b9f64..28bdc54714 100644 --- a/core/src/test/java/com/predic8/membrane/core/TestRouter.java +++ b/core/src/test/java/com/predic8/membrane/core/TestRouter.java @@ -14,6 +14,7 @@ package com.predic8.membrane.core; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; diff --git a/core/src/test/java/com/predic8/membrane/core/acl/ACLTest.java b/core/src/test/java/com/predic8/membrane/core/acl/ACLTest.java index 1a5f245401..8b833ec4bf 100644 --- a/core/src/test/java/com/predic8/membrane/core/acl/ACLTest.java +++ b/core/src/test/java/com/predic8/membrane/core/acl/ACLTest.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.acl; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.acl.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.function.*; diff --git a/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java b/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java index 27099706d9..e43c43c77a 100644 --- a/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java +++ b/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java @@ -22,6 +22,7 @@ import com.predic8.membrane.core.interceptor.Outcome; import com.predic8.membrane.core.proxies.ServiceProxy; import com.predic8.membrane.core.proxies.ServiceProxyKey; +import com.predic8.membrane.core.router.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java index 7d1b53b52b..82c4df48aa 100644 --- a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.config; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java index f72c3d4189..09d9764065 100644 --- a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.config; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java b/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java index 41e9e83225..cac2b86d9d 100644 --- a/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java +++ b/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.config; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.log.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLProtectionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLProtectionInterceptorTest.java index e4f1bf1f98..84ea60b7dc 100644 --- a/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLProtectionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLProtectionInterceptorTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.graphql; -import com.predic8.membrane.core.DummyTestRouter; +import com.predic8.membrane.core.router.DummyTestRouter; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.graphql.blocklist.FeatureBlocklist; import com.predic8.membrane.core.graphql.blocklist.filters.*; diff --git a/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidatorTest.java b/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidatorTest.java index a55f5784d1..507c7cf2ed 100644 --- a/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidatorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/graphql/GraphQLoverHttpValidatorTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.graphql; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java b/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java index 823ba597a4..624e2a705b 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java @@ -22,6 +22,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import okhttp3.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java b/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java index fd1e4801bf..55e7407b83 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java +++ b/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java b/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java index bd4ceeca97..23268eb324 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java +++ b/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java b/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java index 0346bd2d47..ee9e6b12c6 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java +++ b/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.flow.invocation.testinterceptors.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java index 1750688145..698fad8f85 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java index 06310ba187..f52a483c7e 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java @@ -15,7 +15,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.predic8.membrane.core.*; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.config.Path; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request.Builder; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/DispatchingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/DispatchingInterceptorTest.java index c3bc1210d3..e867c6baae 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/DispatchingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/DispatchingInterceptorTest.java @@ -14,11 +14,11 @@ package com.predic8.membrane.core.interceptor; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/HTTPClientInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/HTTPClientInterceptorTest.java index 41e5e77b2b..675402fd78 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/HTTPClientInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/HTTPClientInterceptorTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java index cab1540c38..8dc43c2639 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/RegExReplaceInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/RegExReplaceInterceptorTest.java index 5ca0788fec..d0da4d05e7 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/RegExReplaceInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/RegExReplaceInterceptorTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.regex.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java index 36bde9948f..be99deb920 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/acl/AccessControlParserTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/acl/AccessControlParserTest.java index e82de42f07..d5eae25d94 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/acl/AccessControlParserTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/acl/AccessControlParserTest.java @@ -18,7 +18,7 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import com.predic8.membrane.core.DummyTestRouter; +import com.predic8.membrane.core.router.DummyTestRouter; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/acl/HostnameTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/acl/HostnameTest.java index 316682c02b..6bffff003c 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/acl/HostnameTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/acl/HostnameTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.acl; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java index 3f9e7e1a7b..6855331c0a 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.ws.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/ApiKeysInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/ApiKeysInterceptorTest.java index 4e31e2d004..750101e7e4 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/ApiKeysInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/ApiKeysInterceptorTest.java @@ -13,13 +13,13 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.apikey; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.interceptor.apikey.extractors.ApiKeyExpressionExtractor; import com.predic8.membrane.core.interceptor.apikey.extractors.ApiKeyHeaderExtractor; import com.predic8.membrane.core.interceptor.apikey.extractors.ApiKeyQueryParamExtractor; import com.predic8.membrane.core.interceptor.apikey.stores.ApiKeyFileStore; import com.predic8.membrane.core.interceptor.apikey.stores.UnauthorizedApiKeyException; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.security.SecurityScheme; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStoreTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStoreTest.java index 6eedee2630..f0a53af06d 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStoreTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyFileStoreTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.apikey.stores; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.AbstractMap.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/authentication/BasicAuthenticationInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/authentication/BasicAuthenticationInterceptorTest.java index c7f4416640..3cbfb36f37 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/authentication/BasicAuthenticationInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/authentication/BasicAuthenticationInterceptorTest.java @@ -13,11 +13,11 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.authentication; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.interceptor.authentication.session.StaticUserDataProvider; import com.predic8.membrane.core.interceptor.authentication.session.StaticUserDataProvider.User; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterBalancerTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterBalancerTest.java index bc3f919ec5..c60d8d902c 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterBalancerTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterBalancerTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.balancer; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java index 0c81fa871a..56c118a608 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.services.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractorTest.java index d333a0b5b2..749f2788e9 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/PolyglotSessionIdExtractorTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.balancer; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.http.Response; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/ConditionalEvaluationTestContext.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/ConditionalEvaluationTestContext.java index f3d9ea15b2..5a82dbc52e 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/ConditionalEvaluationTestContext.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/ConditionalEvaluationTestContext.java @@ -13,12 +13,12 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.flow; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.Request.*; import com.predic8.membrane.core.http.Response.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.security.*; import static com.predic8.membrane.core.interceptor.Outcome.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/IfInterceptorSpELTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/IfInterceptorSpELTest.java index e1e547832a..699ad5b2ff 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/IfInterceptorSpELTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/IfInterceptorSpELTest.java @@ -13,12 +13,12 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.flow; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.http.Request.*; import com.predic8.membrane.core.http.Response.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java index 6ececd6032..362c5ce8ca 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/FlowTestInterceptors.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/FlowTestInterceptors.java index f47685a6e7..d56737b399 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/FlowTestInterceptors.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/FlowTestInterceptors.java @@ -16,12 +16,12 @@ package com.predic8.membrane.core.interceptor.flow.invocation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.flow.choice.*; import com.predic8.membrane.core.interceptor.flow.invocation.testinterceptors.*; import com.predic8.membrane.core.interceptor.groovy.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java index 41e5ac4c0a..9414f4ec1e 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java @@ -21,6 +21,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptorTest.java index 8d94325d99..1aebed273d 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/formvalidation/FormValidationInterceptorTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.formvalidation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.formvalidation.FormValidationInterceptor.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/groovy/GroovyInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/groovy/GroovyInterceptorTest.java index 168e5b8a60..f012e98418 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/groovy/GroovyInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/groovy/GroovyInterceptorTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor.groovy; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import org.springframework.context.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/javascript/JavascriptInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/javascript/JavascriptInterceptorTest.java index 49f4ded84d..09703024da 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/javascript/JavascriptInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/javascript/JavascriptInterceptorTest.java @@ -17,13 +17,13 @@ package com.predic8.membrane.core.interceptor.javascript; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.lang.*; import com.predic8.membrane.core.lang.javascript.*; +import com.predic8.membrane.core.router.*; import org.graalvm.polyglot.*; import org.junit.jupiter.api.*; import org.junit.jupiter.params.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/json/JsonProtectionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/json/JsonProtectionInterceptorTest.java index 9036a0e292..976b7f7fcd 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/json/JsonProtectionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/json/JsonProtectionInterceptorTest.java @@ -14,11 +14,11 @@ package com.predic8.membrane.core.interceptor.json; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.google.common.base.Strings.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorTest.java index c6f13be199..b036241f5e 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorTest.java @@ -15,10 +15,10 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.resolver.ResolverMap; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.functionalInterfaces.ExceptionThrowingConsumer; import org.jose4j.jwk.RsaJsonWebKey; import org.jose4j.jwk.RsaJwkGenerator; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorUnitTests.java b/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorUnitTests.java index 6d1535b5a8..86561118fa 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorUnitTests.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/jwt/JwtAuthInterceptorUnitTests.java @@ -16,7 +16,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.predic8.membrane.core.DummyTestRouter; +import com.predic8.membrane.core.router.DummyTestRouter; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.Request; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetHeaderInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetHeaderInterceptorTest.java index 137d58ba58..7f2306e064 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetHeaderInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetHeaderInterceptorTest.java @@ -14,10 +14,10 @@ package com.predic8.membrane.core.interceptor.lang; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.core.http.MimeType.APPLICATION_JSON; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetPropertyInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetPropertyInterceptorTest.java index 2dc988df15..446506e4af 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetPropertyInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/lang/AbstractSetPropertyInterceptorTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor.lang; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.lang.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/lang/SetBodyInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/lang/SetBodyInterceptorTest.java index 7e06878125..04b043b2cc 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/lang/SetBodyInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/lang/SetBodyInterceptorTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor.lang; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/OAuth2RedirectTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/OAuth2RedirectTest.java index afd5596cb6..011cda8841 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/OAuth2RedirectTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/OAuth2RedirectTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.oauth2; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; @@ -23,6 +22,7 @@ import com.predic8.membrane.core.interceptor.session.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.test.*; import io.restassured.filter.log.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/MembraneAuthorizationServiceTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/MembraneAuthorizationServiceTest.java index 9642fa0540..5d10d06717 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/MembraneAuthorizationServiceTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/authorizationservice/MembraneAuthorizationServiceTest.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.interceptor.oauth2.authorizationservice; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/AuthServerMock.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/AuthServerMock.java index 9b6b9103ba..9251f69cad 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/AuthServerMock.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/AuthServerMock.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.oauth2.client; -import com.predic8.membrane.core.DummyTestRouter; +import com.predic8.membrane.core.router.DummyTestRouter; import com.predic8.membrane.core.proxies.ServiceProxy; import java.io.IOException; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java index 5920bdb029..0908cc4e34 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java @@ -30,6 +30,7 @@ import com.predic8.membrane.core.interceptor.session.InMemorySessionManager; import com.predic8.membrane.core.proxies.ServiceProxy; import com.predic8.membrane.core.proxies.ServiceProxyKey; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.URIFactory; import com.predic8.membrane.core.util.URLParamUtil; import org.jetbrains.annotations.NotNull; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java index 538f96d7a2..57fd352504 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java @@ -23,6 +23,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.oauth2.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.jose4j.jwk.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/opentelemetry/OpenTelemetryInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/opentelemetry/OpenTelemetryInterceptorTest.java index 0f673dca18..671d339345 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/opentelemetry/OpenTelemetryInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/opentelemetry/OpenTelemetryInterceptorTest.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.opentelemetry; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/ReverseProxyingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/ReverseProxyingInterceptorTest.java index 7f11dbd771..9298befb3c 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/ReverseProxyingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/ReverseProxyingInterceptorTest.java @@ -14,10 +14,10 @@ package com.predic8.membrane.core.interceptor.rewrite; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptorTest.java index 36d99912d8..bfaa89ced6 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriteInterceptorTest.java @@ -14,12 +14,12 @@ package com.predic8.membrane.core.interceptor.rewrite; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.rewrite.RewriteInterceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriterTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriterTest.java index 4a657d0669..f9cbab9e0f 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriterTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/rewrite/RewriterTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.rewrite; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.rewrite.RewriteInterceptor.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPFaultTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPFaultTest.java index 0c769e2c83..0d95a7f115 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPFaultTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPFaultTest.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.schemavalidation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.SOAPUtil; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPMessageValidatorInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPMessageValidatorInterceptorTest.java index 7ccb95a1ef..310d632363 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPMessageValidatorInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/SOAPMessageValidatorInterceptorTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.interceptor.schemavalidation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/ValidatorInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/ValidatorInterceptorTest.java index 5df75ec123..0bd8b83978 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/ValidatorInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/schemavalidation/ValidatorInterceptorTest.java @@ -14,13 +14,13 @@ package com.predic8.membrane.core.interceptor.schemavalidation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.Interceptor; import com.predic8.membrane.core.interceptor.Outcome; import com.predic8.membrane.core.resolver.ResolverMap; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java index 6d77a1a5b1..2c9f6b7532 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java @@ -15,6 +15,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.test.*; import org.junit.jupiter.params.*; import org.junit.jupiter.params.provider.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptorTest.java index c3fb97b47c..2a477ed5b3 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/server/WebServerInterceptorTest.java @@ -14,8 +14,8 @@ package com.predic8.membrane.core.interceptor.server; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/session/FakeSyncSessionStoreManager.java b/core/src/test/java/com/predic8/membrane/core/interceptor/session/FakeSyncSessionStoreManager.java index a38fe756a5..3e5f961433 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/session/FakeSyncSessionStoreManager.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/session/FakeSyncSessionStoreManager.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.session; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; +import com.predic8.membrane.core.router.*; import java.util.*; import java.util.concurrent.ConcurrentHashMap; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java index 84f71e763e..b72997946e 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java @@ -22,6 +22,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.io.*; import org.apache.http.client.config.*; import org.apache.http.client.methods.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/shadowing/ShadowingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/shadowing/ShadowingInterceptorTest.java index 4d9ef73f07..b56ddedeae 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/shadowing/ShadowingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/shadowing/ShadowingInterceptorTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.shadowing; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.http.*; @@ -21,6 +20,7 @@ import com.predic8.membrane.core.interceptor.lang.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.junit.jupiter.api.*; import org.mockito.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java index f722d85f3d..6b77d446ae 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.server.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/templating/StaticInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/templating/StaticInterceptorTest.java index 93c9cd1fd8..f92bd8bae7 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/templating/StaticInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/templating/StaticInterceptorTest.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.templating; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/templating/TemplateInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/templating/TemplateInterceptorTest.java index 1f86d3472e..2bd0d93338 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/templating/TemplateInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/templating/TemplateInterceptorTest.java @@ -15,11 +15,11 @@ package com.predic8.membrane.core.interceptor.templating; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.resolver.*; -import com.predic8.membrane.core.security.BasicHttpSecurityScheme; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.security.*; import com.predic8.membrane.core.util.*; import org.json.*; import org.junit.jupiter.api.*; @@ -32,7 +32,7 @@ import java.nio.file.*; import java.util.*; -import static com.predic8.membrane.core.exchange.Exchange.SECURITY_SCHEMES; +import static com.predic8.membrane.core.exchange.Exchange.*; import static com.predic8.membrane.core.http.MimeType.*; import static com.predic8.membrane.core.http.Request.*; import static java.lang.Boolean.*; @@ -40,7 +40,6 @@ import static java.nio.charset.StandardCharsets.*; import static javax.xml.xpath.XPathConstants.*; import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; public class TemplateInterceptorTest { @@ -49,19 +48,13 @@ public class TemplateInterceptorTest { TemplateInterceptor ti; Exchange exc = new Exchange(null); Request req; - static DefaultRouter router; - static ResolverMap map; - - @BeforeAll - static void setupFiles() { - router = mock(DefaultRouter.class); - map = new ResolverMap(); - when(router.getResolverMap()).thenReturn(map); - when(router.getUriFactory()).thenReturn(new URIFactory()); - } + Router router; + ResolverMap map; + @BeforeEach void setUp(){ + router = new DummyTestRouter(); ti = new TemplateInterceptor(); exc = new Exchange(null); req = new Request.Builder().build(); @@ -260,7 +253,7 @@ void builtInFunctions() { ti.init(router); ti.handleRequest(exc); - assertTrue(exc.getRequest().getBodyAsStringDecoded().contains("\"foo\": \"alice\"")); + assertTrue(exc.getRequest().getBodyAsStringDecoded().contains("alice")); } private void setAndHandleRequest(String location) { @@ -270,11 +263,11 @@ private void setAndHandleRequest(String location) { } - private static void invokeInterceptor(Exchange exchange, String template, String mimeType) { - TemplateInterceptor interceptor = new TemplateInterceptor(); - interceptor.setSrc(template); - interceptor.setContentType(mimeType); - interceptor.init(router); - interceptor.handleRequest(exchange); + private void invokeInterceptor(Exchange exchange, String template, String mimeType) { + var i = new TemplateInterceptor(); + i.setSrc(template); + i.setContentType(mimeType); + i.init(router); + i.handleRequest(exchange); } } \ No newline at end of file diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Json2XmlInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Json2XmlInterceptorTest.java index c1380ca6c5..f54375a05b 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Json2XmlInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Json2XmlInterceptorTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.xml; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import io.restassured.path.json.*; import io.restassured.path.xml.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Xml2JsonInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Xml2JsonInterceptorTest.java index acf9ad9fa6..fa3d144059 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Xml2JsonInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/xml/Xml2JsonInterceptorTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.io.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/xmlprotection/XMLProtectionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/xmlprotection/XMLProtectionInterceptorTest.java index a6977af59e..4d56238fff 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/xmlprotection/XMLProtectionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/xmlprotection/XMLProtectionInterceptorTest.java @@ -14,10 +14,10 @@ package com.predic8.membrane.core.interceptor.xmlprotection; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/xslt/XSLTInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/xslt/XSLTInterceptorTest.java index 8117fe7da2..32011d695f 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/xslt/XSLTInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/xslt/XSLTInterceptorTest.java @@ -22,7 +22,7 @@ import org.junit.jupiter.api.Test; import org.xml.sax.InputSource; -import com.predic8.membrane.core.DummyTestRouter; +import com.predic8.membrane.core.router.DummyTestRouter; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Response; diff --git a/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java b/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java index 6df0bfa913..0c169244e4 100644 --- a/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java +++ b/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java @@ -21,6 +21,7 @@ import com.predic8.membrane.core.interceptor.Outcome; import com.predic8.membrane.core.proxies.ServiceProxy; import com.predic8.membrane.core.proxies.ServiceProxyKey; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/lang/AbstractExchangeExpressionTest.java b/core/src/test/java/com/predic8/membrane/core/lang/AbstractExchangeExpressionTest.java index f73de88193..8eb2ebfdeb 100644 --- a/core/src/test/java/com/predic8/membrane/core/lang/AbstractExchangeExpressionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/lang/AbstractExchangeExpressionTest.java @@ -13,12 +13,12 @@ limitations under the License. */ package com.predic8.membrane.core.lang; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.Interceptor.*; import com.predic8.membrane.core.lang.ExchangeExpression.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/lang/TemplateExchangeExpressionTest.java b/core/src/test/java/com/predic8/membrane/core/lang/TemplateExchangeExpressionTest.java index 528e4c8add..c6320a9aeb 100644 --- a/core/src/test/java/com/predic8/membrane/core/lang/TemplateExchangeExpressionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/lang/TemplateExchangeExpressionTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.lang; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/lang/xpath/SetPropertyInterceptorXPathTest.java b/core/src/test/java/com/predic8/membrane/core/lang/xpath/SetPropertyInterceptorXPathTest.java index 7a7a47ea40..fcbcd74b4e 100644 --- a/core/src/test/java/com/predic8/membrane/core/lang/xpath/SetPropertyInterceptorXPathTest.java +++ b/core/src/test/java/com/predic8/membrane/core/lang/xpath/SetPropertyInterceptorXPathTest.java @@ -14,10 +14,10 @@ package com.predic8.membrane.core.lang.xpath; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.xml.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.lang.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxyOpenAPITest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxyOpenAPITest.java index 66b466570a..ad4fc52d85 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxyOpenAPITest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxyOpenAPITest.java @@ -16,7 +16,7 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import io.swagger.v3.oas.models.*; import org.jetbrains.annotations.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxySpringConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxySpringConfigurationTest.java index fe036da966..30a8d97159 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxySpringConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/APIProxySpringConfigurationTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.apikey.*; import com.predic8.membrane.core.interceptor.log.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.test.TestUtil.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/AbstractProxySpringConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/AbstractProxySpringConfigurationTest.java index 7172a33122..ac5905a5de 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/AbstractProxySpringConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/AbstractProxySpringConfigurationTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.springframework.context.support.*; import org.springframework.core.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/ApiDocsInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/ApiDocsInterceptorTest.java index c637fd6fd9..ce3181e788 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/ApiDocsInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/ApiDocsInterceptorTest.java @@ -14,10 +14,10 @@ package com.predic8.membrane.core.openapi.serviceproxy; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java index 28cd672cca..c99684180a 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import io.swagger.v3.oas.models.*; import io.swagger.v3.oas.models.media.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31Test.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31Test.java index ae5a84442f..73b21a3269 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31Test.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31Test.java @@ -16,8 +16,8 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptorTest.java index 38e2cd8b9a..0e01ffa16a 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIInterceptorTest.java @@ -16,10 +16,10 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exceptions.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptorTest.java index 990bd508fc..80ee656af6 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIPublisherInterceptorTest.java @@ -17,11 +17,11 @@ package com.predic8.membrane.core.openapi.serviceproxy; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.openapi.util.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import io.swagger.v3.parser.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactoryTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactoryTest.java index f9da9b6d6d..76dbca1819 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactoryTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordFactoryTest.java @@ -13,7 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordTest.java index 5e25854db9..78395a1785 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPIRecordTest.java @@ -16,7 +16,7 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.proxies.NullProxy; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/RewriteTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/RewriteTest.java index 0bc0444ae1..641cfe7375 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/RewriteTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/RewriteTest.java @@ -17,10 +17,10 @@ package com.predic8.membrane.core.openapi.serviceproxy; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java index 6cb0bc605f..2a6004020c 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; +import com.predic8.membrane.core.router.*; import org.hamcrest.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/XMembraneExtensionSecurityTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/XMembraneExtensionSecurityTest.java index 7af285c62b..9642537558 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/XMembraneExtensionSecurityTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/XMembraneExtensionSecurityTest.java @@ -16,7 +16,7 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/util/OpenAPITestUtils.java b/core/src/test/java/com/predic8/membrane/core/openapi/util/OpenAPITestUtils.java index 7e931c55ba..6b2c878940 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/util/OpenAPITestUtils.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/util/OpenAPITestUtils.java @@ -17,9 +17,9 @@ package com.predic8.membrane.core.openapi.util; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import io.swagger.parser.*; import io.swagger.v3.oas.models.*; import io.swagger.v3.parser.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/validators/exceptions/ExceptionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/validators/exceptions/ExceptionInterceptorTest.java index 6785866809..8077d253ce 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/validators/exceptions/ExceptionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/validators/exceptions/ExceptionInterceptorTest.java @@ -17,11 +17,11 @@ package com.predic8.membrane.core.openapi.validators.exceptions; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.openapi.validators.security.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import org.springframework.http.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/AbstractSecurityValidatorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/AbstractSecurityValidatorTest.java index 4946268c59..eb3c7a6546 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/AbstractSecurityValidatorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/AbstractSecurityValidatorTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.openapi.validators.security; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.security.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/BasicAuthSecurityValidationTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/BasicAuthSecurityValidationTest.java index 41007fee43..8d5a40d60f 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/BasicAuthSecurityValidationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/BasicAuthSecurityValidationTest.java @@ -16,12 +16,12 @@ package com.predic8.membrane.core.openapi.validators.security; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.authentication.*; import com.predic8.membrane.core.interceptor.authentication.session.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/JWTInterceptorAndSecurityValidatorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/JWTInterceptorAndSecurityValidatorTest.java index 9f080e6685..0af18fd664 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/JWTInterceptorAndSecurityValidatorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/JWTInterceptorAndSecurityValidatorTest.java @@ -16,11 +16,11 @@ package com.predic8.membrane.core.openapi.validators.security; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.interceptor.jwt.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.security.*; import org.jetbrains.annotations.*; import org.jose4j.jwk.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/OAuth2SecurityValidatorTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/OAuth2SecurityValidatorTest.java index 431f8258dd..14ad167bf1 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/OAuth2SecurityValidatorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/validators/security/OAuth2SecurityValidatorTest.java @@ -16,9 +16,9 @@ package com.predic8.membrane.core.openapi.validators.security; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.core.http.Request.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java index 3db31d67e8..ad2905a8c0 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java index 8d1279dbc2..29783a61bb 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java @@ -17,6 +17,7 @@ import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.groovy.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.core.interceptor.flow.invocation.FlowTestInterceptors.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java index c991f743f0..5505672bde 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.acl.*; import com.predic8.membrane.core.interceptor.balancer.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ProxySSLTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ProxySSLTest.java index 0fcd8c41c1..00fe66ba52 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ProxySSLTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ProxySSLTest.java @@ -13,12 +13,12 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.transport.ssl.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java index f9f75bc195..6ab25f871d 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.router.*; import org.apache.http.*; import org.apache.http.client.config.*; import org.apache.http.client.methods.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyTest.java index 7288ff0221..74a777c369 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyTest.java @@ -13,11 +13,11 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.openapi.util.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java index 805d9919d7..13ccfb9683 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java @@ -15,6 +15,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.test.TestUtil.getPathFromResource; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java index 29b6329cf0..ac1ba258c9 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.hamcrest.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java index fa2f65df8e..fb614dd82a 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.server.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.test.TestUtil.getPathFromResource; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/TargetURLExpressionTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/TargetURLExpressionTest.java index dbe6aa5e53..97d2b5d0fd 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/TargetURLExpressionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/TargetURLExpressionTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/UnavailableSoapProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/UnavailableSoapProxyTest.java index 263e881dfb..6374807bfb 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/UnavailableSoapProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/UnavailableSoapProxyTest.java @@ -13,10 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.schemavalidation.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.client.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java b/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java index 189920ecef..44e9f7f112 100644 --- a/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java +++ b/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.interceptor.schemavalidation.*; import com.predic8.membrane.core.interceptor.server.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import com.predic8.schema.*; import com.predic8.wsdl.*; diff --git a/core/src/test/java/com/predic8/membrane/core/security/JWTSecuritySchemeTest.java b/core/src/test/java/com/predic8/membrane/core/security/JWTSecuritySchemeTest.java index 1a3a77670f..9538292c99 100644 --- a/core/src/test/java/com/predic8/membrane/core/security/JWTSecuritySchemeTest.java +++ b/core/src/test/java/com/predic8/membrane/core/security/JWTSecuritySchemeTest.java @@ -13,11 +13,10 @@ limitations under the License. */ package com.predic8.membrane.core.security; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; -import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.jwt.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import org.jose4j.jwk.*; import org.jose4j.jws.*; import org.jose4j.jwt.*; diff --git a/core/src/test/java/com/predic8/membrane/core/security/KeyStoreUtilTest.java b/core/src/test/java/com/predic8/membrane/core/security/KeyStoreUtilTest.java index ea402e0e46..da32593149 100644 --- a/core/src/test/java/com/predic8/membrane/core/security/KeyStoreUtilTest.java +++ b/core/src/test/java/com/predic8/membrane/core/security/KeyStoreUtilTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.security; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.KeyStore; import com.predic8.membrane.core.config.security.SSLParser; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java index df36d02b03..08908d14ea 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java index 0211a90b5a..0885a1a49e 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java index 28fd97a0b4..6de8b38290 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java @@ -17,6 +17,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java index 1cb5fecee5..7867d0e7b6 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java index 8972610d24..89d2048c63 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.client.*; import org.apache.commons.io.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java index cb98d76b26..5dfae76d39 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.client.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java index 9f810d6f66..7225667414 100755 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java @@ -19,6 +19,8 @@ import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.GlobalInterceptor; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.transport.ssl.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java index 12fc86b8a0..a432bf0c17 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.apache.http.*; import org.apache.http.client.methods.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java index 4d5bbd91bc..2fd407917f 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java index 08c6e83d05..2d4e5b5b7a 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.transport.http.client; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java index 4e70f2d1b2..3820e5eec6 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.transport.http.client.protocol.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java index 5abe016a4e..7f9d8b6222 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/SSLContextTest.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/SSLContextTest.java index a1fc597e1c..25371e76a7 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/SSLContextTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/SSLContextTest.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.transport.ssl; import com.google.common.io.Resources; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.resolver.ResolverMap; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java index 086e1083c3..aced192e41 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java @@ -20,7 +20,9 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.resolver.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; +import com.predic8.membrane.core.transport.http.streampump.*; import org.junit.jupiter.api.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java index e904c7721f..191f935ca2 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java @@ -24,6 +24,7 @@ import com.predic8.membrane.core.interceptor.Outcome; import com.predic8.membrane.core.proxies.ServiceProxy; import com.predic8.membrane.core.proxies.ServiceProxyKey; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.HttpClient; import org.jetbrains.annotations.*; import org.jose4j.base64url.Base64; diff --git a/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java b/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java index 28a8e267b3..8817f08af4 100644 --- a/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java @@ -22,6 +22,7 @@ import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import io.restassured.response.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/evaluation/JDBCApiKeyStorePerformanceTest.java b/core/src/test/java/com/predic8/membrane/evaluation/JDBCApiKeyStorePerformanceTest.java index 6ab9576cd9..5a62ae6f9b 100644 --- a/core/src/test/java/com/predic8/membrane/evaluation/JDBCApiKeyStorePerformanceTest.java +++ b/core/src/test/java/com/predic8/membrane/evaluation/JDBCApiKeyStorePerformanceTest.java @@ -14,7 +14,7 @@ package com.predic8.membrane.evaluation; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.interceptor.apikey.stores.JDBCApiKeyStore; import com.predic8.membrane.core.interceptor.apikey.stores.KeyTable; import com.predic8.membrane.core.interceptor.apikey.stores.ScopeTable; diff --git a/core/src/test/java/com/predic8/membrane/integration/Util.java b/core/src/test/java/com/predic8/membrane/integration/Util.java index fce200a7ea..f879ce9597 100644 --- a/core/src/test/java/com/predic8/membrane/integration/Util.java +++ b/core/src/test/java/com/predic8/membrane/integration/Util.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; +import com.predic8.membrane.core.router.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/OpenAPIRecordFactoryIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/OpenAPIRecordFactoryIntegrationTest.java index d73361dc51..357da2bc4f 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/OpenAPIRecordFactoryIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/OpenAPIRecordFactoryIntegrationTest.java @@ -13,8 +13,8 @@ limitations under the License. */ package com.predic8.membrane.integration.withinternet; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.util.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java index cf5c38e998..1ef3d673c3 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.exchangestore.MemoryExchangeStore; import com.predic8.membrane.core.proxies.ProxyRule; import com.predic8.membrane.core.proxies.ProxyRuleKey; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod; import org.junit.jupiter.api.AfterEach; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java index bd1ee88f2d..b532472453 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java @@ -16,6 +16,7 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.client.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java index f304997a61..e7dfea4fea 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java @@ -15,15 +15,13 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.http.Header; -import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.rewrite.RewriteInterceptor; import com.predic8.membrane.core.interceptor.rewrite.RewriteInterceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; -import org.apache.http.params.*; -import org.apache.http.util.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.core.http.Header.CONTENT_TYPE; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java index 1f5100dfa8..f8b0fa498b 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java @@ -20,6 +20,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.integration.withinternet.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java index 71486c6d3a..a41b8e8755 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java @@ -22,6 +22,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.ssl.*; import com.predic8.membrane.core.transport.ssl.acme.AcmeServerSimulator; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java index 2f28566aaf..912e47e906 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.log.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.hamcrest.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java index fade5fde68..8804aaa248 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.interceptor.rest.REST2SOAPInterceptor.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java index 4e6ce0ad84..640c14e4b1 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java @@ -17,6 +17,7 @@ import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.ServiceProxy; import com.predic8.membrane.core.proxies.ServiceProxyKey; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.core.http.MimeType.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java index 56d96b954f..1eb3d00649 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java @@ -22,6 +22,7 @@ import com.predic8.membrane.core.interceptor.oauth2.OAuth2AuthorizationServerInterceptor; import com.predic8.membrane.core.interceptor.oauth2.StaticClientList; import com.predic8.membrane.core.interceptor.oauth2.authorizationservice.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import com.predic8.membrane.core.util.functionalInterfaces.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java index e2fd02daa0..8a1a5df4cf 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withoutinternet.interceptor.oauth2; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.authentication.session.*; import com.predic8.membrane.core.interceptor.flow.*; @@ -25,6 +24,7 @@ import com.predic8.membrane.core.interceptor.oauth2.tokengenerators.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.json.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java index 392a355d22..97ea1d779e 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java @@ -21,6 +21,7 @@ import com.predic8.membrane.core.interceptor.balancer.*; import com.predic8.membrane.core.interceptor.balancer.faultmonitoring.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.services.*; import com.predic8.membrane.core.transport.http.client.*; import org.apache.commons.httpclient.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java index 0f765282bd..66f873c1bd 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.balancer.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.services.*; import com.predic8.membrane.core.util.*; import org.apache.commons.httpclient.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java b/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java index c00569b12d..e65b990d7e 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java @@ -19,6 +19,7 @@ import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.interceptor.balancer.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.services.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/ws_addressing/WsaEndpointRewriterInterceptorTest.java b/core/src/test/java/com/predic8/membrane/interceptor/ws_addressing/WsaEndpointRewriterInterceptorTest.java index ab0134fa4c..cbbab93553 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/ws_addressing/WsaEndpointRewriterInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/ws_addressing/WsaEndpointRewriterInterceptorTest.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.interceptor.ws_addressing; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.ws_addressing.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import static com.predic8.membrane.core.http.MimeType.*; diff --git a/core/src/test/resources/custom-monitor-beans.xml b/core/src/test/resources/custom-monitor-beans.xml index 535c7e710c..d8807ae66c 100644 --- a/core/src/test/resources/custom-monitor-beans.xml +++ b/core/src/test/resources/custom-monitor-beans.xml @@ -149,7 +149,7 @@ - + diff --git a/core/src/test/resources/proxy-rules-test-monitor-beans.xml b/core/src/test/resources/proxy-rules-test-monitor-beans.xml index 87ca7eb2e4..0bdcbb4505 100644 --- a/core/src/test/resources/proxy-rules-test-monitor-beans.xml +++ b/core/src/test/resources/proxy-rules-test-monitor-beans.xml @@ -11,7 +11,7 @@ - + diff --git a/distribution/src/test/java/com/predic8/membrane/examples/ConfigSerializationTest.java b/distribution/src/test/java/com/predic8/membrane/examples/ConfigSerializationTest.java index 4a36f09fc5..7cf24d27ad 100644 --- a/distribution/src/test/java/com/predic8/membrane/examples/ConfigSerializationTest.java +++ b/distribution/src/test/java/com/predic8/membrane/examples/ConfigSerializationTest.java @@ -14,7 +14,7 @@ package com.predic8.membrane.examples; import com.predic8.membrane.annot.bean.*; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.router.*; import com.predic8.xml.beautifier.*; import org.junit.jupiter.api.*; import org.junit.jupiter.params.*; diff --git a/distribution/src/test/java/com/predic8/membrane/examples/withinternet/env/HelpLinkExistenceTest.java b/distribution/src/test/java/com/predic8/membrane/examples/withinternet/env/HelpLinkExistenceTest.java index 441a9d8a36..0d56312d36 100644 --- a/distribution/src/test/java/com/predic8/membrane/examples/withinternet/env/HelpLinkExistenceTest.java +++ b/distribution/src/test/java/com/predic8/membrane/examples/withinternet/env/HelpLinkExistenceTest.java @@ -25,7 +25,7 @@ import com.predic8.membrane.annot.MCElement; import com.predic8.membrane.core.Constants; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.http.Request; import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.Interceptor; diff --git a/distribution/src/test/java/com/predic8/membrane/load/LoadTester.java b/distribution/src/test/java/com/predic8/membrane/load/LoadTester.java index e3b049a433..2a0a4bfe0b 100644 --- a/distribution/src/test/java/com/predic8/membrane/load/LoadTester.java +++ b/distribution/src/test/java/com/predic8/membrane/load/LoadTester.java @@ -14,10 +14,10 @@ package com.predic8.membrane.load; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.asynchttpclient.*; import java.io.*; diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 70732f0b86..48846e7f84 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -14,6 +14,7 @@ # 7.X +- Rewrite ACL to use the YAML configuration instead of external XML files - JMXExporter: - Tutorial - Documentation diff --git a/war/src/main/java/com/predic8/membrane/servlet/MembraneServletContextListener.java b/war/src/main/java/com/predic8/membrane/servlet/MembraneServletContextListener.java index fc91c48750..5352affd98 100644 --- a/war/src/main/java/com/predic8/membrane/servlet/MembraneServletContextListener.java +++ b/war/src/main/java/com/predic8/membrane/servlet/MembraneServletContextListener.java @@ -15,7 +15,7 @@ package com.predic8.membrane.servlet; import com.predic8.membrane.core.Constants; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.servlet.config.spring.BaseLocationXmlWebApplicationContext; import jakarta.servlet.ServletContextEvent; import jakarta.servlet.ServletContextListener; diff --git a/war/src/main/java/com/predic8/membrane/servlet/RouterUtil.java b/war/src/main/java/com/predic8/membrane/servlet/RouterUtil.java index ec45c58375..4a882b5b85 100644 --- a/war/src/main/java/com/predic8/membrane/servlet/RouterUtil.java +++ b/war/src/main/java/com/predic8/membrane/servlet/RouterUtil.java @@ -20,7 +20,7 @@ import org.springframework.web.context.support.XmlWebApplicationContext; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.servlet.embedded.ServletTransport; public class RouterUtil { diff --git a/war/src/main/java/com/predic8/membrane/servlet/embedded/MembraneServlet.java b/war/src/main/java/com/predic8/membrane/servlet/embedded/MembraneServlet.java index 96724b4bb9..aa786a7b38 100644 --- a/war/src/main/java/com/predic8/membrane/servlet/embedded/MembraneServlet.java +++ b/war/src/main/java/com/predic8/membrane/servlet/embedded/MembraneServlet.java @@ -14,7 +14,7 @@ package com.predic8.membrane.servlet.embedded; -import com.predic8.membrane.core.DefaultRouter; +import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.servlet.RouterUtil; import com.predic8.membrane.servlet.config.spring.BaseLocationXmlWebApplicationContext; import jakarta.servlet.ServletConfig; From 90fb5ea551c448c8507158c4e96289d4eb6f78b7 Mon Sep 17 00:00:00 2001 From: Thomas Bayer Date: Thu, 1 Jan 2026 17:06:47 +0100 Subject: [PATCH 2/6] refactor: move `RuleManager` to `proxies` package, clean up imports, and remove unused methods --- .../membrane/core/proxies/ApiInfo.java | 3 --- .../core/{ => proxies}/RuleManager.java | 23 +------------------ .../core/router/DefaultMainComponents.java | 1 - .../membrane/core/router/DefaultRouter.java | 5 ++-- .../membrane/core/router/DummyTestRouter.java | 3 +-- .../membrane/core/router/MainComponents.java | 5 +++- .../core/RuleManagerUriTemplateTest.java | 1 + .../interceptor/ApisJsonInterceptorTest.java | 2 +- .../session/SessionInterceptorTest.java | 2 +- .../transport/http/HttpTransportTest.java | 2 +- .../transport/ssl/SessionResumptionTest.java | 1 - .../MassivelyParallelTest.java | 1 - .../test/resources/custom-monitor-beans.xml | 2 +- .../proxy-rules-test-monitor-beans.xml | 2 +- docs/ROADMAP.md | 1 + 15 files changed, 15 insertions(+), 39 deletions(-) rename core/src/main/java/com/predic8/membrane/core/{ => proxies}/RuleManager.java (94%) diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/ApiInfo.java b/core/src/main/java/com/predic8/membrane/core/proxies/ApiInfo.java index 72b56d50cd..9b76b57863 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/ApiInfo.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/ApiInfo.java @@ -13,10 +13,7 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.openapi.serviceproxy.*; -import com.predic8.membrane.core.util.text.*; -import org.jetbrains.annotations.*; import org.slf4j.*; import java.util.*; diff --git a/core/src/main/java/com/predic8/membrane/core/RuleManager.java b/core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java similarity index 94% rename from core/src/main/java/com/predic8/membrane/core/RuleManager.java rename to core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java index 30b1027a4f..56a62b03c1 100644 --- a/core/src/main/java/com/predic8/membrane/core/RuleManager.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java @@ -12,14 +12,12 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.proxies; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.model.*; -import com.predic8.membrane.core.proxies.Proxy; -import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.ssl.*; @@ -251,25 +249,6 @@ private Proxy findProxyRule(Exchange exc) { return new NullProxy(); } - public void addRuleChangeListener(IRuleChangeListener viewer) { - listeners.add(viewer); - viewer.batchUpdate(proxies.size()); - } - - public void removeRuleChangeListener(IRuleChangeListener viewer) { - listeners.remove(viewer); - - } - - public void addExchangesStoreListener(IExchangesStoreListener viewer) { - getExchangeStore().addExchangesStoreListener(viewer); - - } - - public void removeExchangesStoreListener(IExchangesStoreListener viewer) { - getExchangeStore().removeExchangesStoreListener(viewer); - } - public synchronized void removeRule(Proxy proxy) { getExchangeStore().removeAllExchanges(proxy); diff --git a/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java index f8629c35ac..a1980a1b87 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java @@ -15,7 +15,6 @@ package com.predic8.membrane.core.router; import com.predic8.membrane.annot.beanregistry.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.spring.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java b/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java index fcbc37f1aa..2d7c948b67 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java @@ -16,8 +16,7 @@ import com.predic8.membrane.annot.*; import com.predic8.membrane.annot.beanregistry.*; -import com.predic8.membrane.core.*; -import com.predic8.membrane.core.RuleManager.*; +import com.predic8.membrane.core.proxies.RuleManager.*; import com.predic8.membrane.core.cli.*; import com.predic8.membrane.core.config.spring.*; import com.predic8.membrane.core.exchangestore.*; @@ -46,7 +45,7 @@ import java.io.*; import java.util.*; -import static com.predic8.membrane.core.RuleManager.RuleDefinitionSource.*; +import static com.predic8.membrane.core.proxies.RuleManager.RuleDefinitionSource.*; import static com.predic8.membrane.core.jmx.JmxExporter.*; import static com.predic8.membrane.core.util.DLPUtil.*; diff --git a/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java b/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java index fd1435fefc..eb82416baa 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.router; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.kubernetes.client.*; @@ -29,7 +28,7 @@ import java.io.*; import java.util.*; -import static com.predic8.membrane.core.RuleManager.RuleDefinitionSource.MANUAL; +import static com.predic8.membrane.core.proxies.RuleManager.RuleDefinitionSource.MANUAL; /** * TODO rename this class: It is also being used in case the router is being started diff --git a/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java index 855dd7642c..78eee78ca2 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java @@ -14,9 +14,9 @@ package com.predic8.membrane.core.router; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; @@ -24,6 +24,9 @@ import com.predic8.membrane.core.util.*; import org.springframework.context.*; +/** + * Essential components of a router + */ public interface MainComponents { Transport getTransport(); diff --git a/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java b/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java index ccae7bbe23..eeff704c8b 100644 --- a/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java +++ b/core/src/test/java/com/predic8/membrane/core/RuleManagerUriTemplateTest.java @@ -15,6 +15,7 @@ import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.openapi.serviceproxy.*; +import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.proxies.Proxy; import com.predic8.membrane.core.router.*; import org.junit.jupiter.params.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java index f52a483c7e..4997ffc81e 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/ApisJsonInterceptorTest.java @@ -14,7 +14,7 @@ package com.predic8.membrane.core.interceptor; import com.fasterxml.jackson.databind.JsonNode; -import com.predic8.membrane.core.*; +import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.DefaultRouter; import com.predic8.membrane.core.config.Path; import com.predic8.membrane.core.exchange.Exchange; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java index b72997946e..d038e798f0 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java @@ -37,7 +37,7 @@ import java.util.concurrent.atomic.*; import java.util.stream.*; -import static com.predic8.membrane.core.RuleManager.RuleDefinitionSource.*; +import static com.predic8.membrane.core.proxies.RuleManager.RuleDefinitionSource.*; import static com.predic8.membrane.core.interceptor.Outcome.*; import static java.nio.charset.StandardCharsets.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java index 7225667414..3ca84b2805 100755 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java @@ -15,9 +15,9 @@ package com.predic8.membrane.core.transport.http; import com.predic8.membrane.annot.beanregistry.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.GlobalInterceptor; +import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.streampump.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java index aced192e41..c785426e43 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/SessionResumptionTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.transport.ssl; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java index f4d38635ad..e326bd5ec7 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java @@ -26,7 +26,6 @@ import java.util.concurrent.*; import java.util.function.*; -import static com.predic8.membrane.core.RuleManager.RuleDefinitionSource.*; import static com.predic8.membrane.core.http.Request.*; import static com.predic8.membrane.core.http.Response.*; import static com.predic8.membrane.core.interceptor.Outcome.*; diff --git a/core/src/test/resources/custom-monitor-beans.xml b/core/src/test/resources/custom-monitor-beans.xml index d8807ae66c..f98d41d357 100644 --- a/core/src/test/resources/custom-monitor-beans.xml +++ b/core/src/test/resources/custom-monitor-beans.xml @@ -18,7 +18,7 @@ - + diff --git a/core/src/test/resources/proxy-rules-test-monitor-beans.xml b/core/src/test/resources/proxy-rules-test-monitor-beans.xml index 0bdcbb4505..3f79ec1715 100644 --- a/core/src/test/resources/proxy-rules-test-monitor-beans.xml +++ b/core/src/test/resources/proxy-rules-test-monitor-beans.xml @@ -13,7 +13,7 @@ - + diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 48846e7f84..3cae2d0388 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -14,6 +14,7 @@ # 7.X +- Do we need add(Rule,Source) and getRuleBySource(Manual|Spring)? - Rewrite ACL to use the YAML configuration instead of external XML files - JMXExporter: - Tutorial From 044e5220c0ba4215d6609ba3a25be558c0af9ad7 Mon Sep 17 00:00:00 2001 From: Thomas Bayer Date: Thu, 1 Jan 2026 20:18:11 +0100 Subject: [PATCH 3/6] refactor: replace `DefaultRouter` with `Router` for improved abstraction across components, remove unused classes/methods, and streamline imports --- .../core/azure/api/AzureApiClient.java | 28 ++- .../predic8/membrane/core/cli/RouterCLI.java | 8 +- .../interceptor/adminapi/DiskWatcher.java | 4 +- .../apikey/stores/ApiKeyStore.java | 2 +- .../apikey/stores/JDBCApiKeyStore.java | 14 +- .../balancer/BalancerHealthMonitor.java | 6 +- .../oauth2server/LoginDialog2.java | 2 +- .../predic8/membrane/core/jmx/JmxRouter.java | 10 +- .../membrane/core/jmx/JmxServiceProxy.java | 14 +- .../membrane/core/proxies/RuleManager.java | 10 +- .../membrane/core/proxies/SOAPProxy.java | 2 +- .../membrane/core/proxies/SSLableProxy.java | 2 +- .../membrane/core/resolver/ResolverMap.java | 2 +- .../membrane/core/resolver/RuleResolver.java | 5 +- .../membrane/core/router/AbstractRouter.java | 2 +- .../core/router/DefaultMainComponents.java | 11 +- .../membrane/core/router/DefaultRouter.java | 7 + .../membrane/core/router/DummyTestRouter.java | 12 +- .../membrane/core/router/MainComponents.java | 6 + .../core/router/RouterXmlBootstrap.java | 4 +- .../core/router/RuleReinitializer.java | 2 +- .../router/hotdeploy/DefaultHotDeployer.java | 4 +- .../core/router/hotdeploy/HotDeployer.java | 2 +- .../router/hotdeploy/NullHotDeployer.java | 3 +- .../membrane/core/transport/Transport.java | 14 +- .../transport/http/HttpEndpointListener.java | 11 +- .../core/transport/http/HttpTransport.java | 15 +- .../core/transport/ssl/AcmeSSLContext.java | 27 +-- .../acme/AcmeAzureTableApiStorageEngine.java | 23 ++- .../core/transport/ssl/acme/AcmeClient.java | 56 +++--- .../core/util/jdbc/AbstractJdbcSupport.java | 14 +- .../com/predic8/membrane/core/MockRouter.java | 31 ---- .../membrane/core/RuleManagerTest.java | 6 +- .../com/predic8/membrane/core/SimpleTest.java | 2 +- .../com/predic8/membrane/core/TestRouter.java | 169 +++++++++++++++++- .../core/azure/AzureApiClientTest.java | 5 +- .../config/ReadRulesConfigurationTest.java | 2 +- ...ulesWithInterceptorsConfigurationTest.java | 2 +- .../core/config/SpringReferencesTest.java | 2 +- .../ElasticSearchExchangeStoreTest.java | 4 +- .../membrane/core/http/Http10Test.java | 4 +- .../interceptor/InternalInvocationTest.java | 2 +- .../core/interceptor/UserFeatureTest.java | 2 +- .../ClusterNotificationInterceptorTest.java | 12 +- .../LoadBalancingWithClusterManagerTest.java | 2 +- .../membrane/core/proxies/ProxyRuleTest.java | 2 +- .../transport/http/HttpTransportTest.java | 79 +++----- .../transport/http/MockHttpTransport.java | 26 --- .../client/HttpClientConfigurationTest.java | 2 +- .../interceptor/oauth2/OAuth2Test.java | 9 +- 50 files changed, 383 insertions(+), 302 deletions(-) delete mode 100644 core/src/test/java/com/predic8/membrane/core/MockRouter.java delete mode 100644 core/src/test/java/com/predic8/membrane/core/transport/http/MockHttpTransport.java diff --git a/core/src/main/java/com/predic8/membrane/core/azure/api/AzureApiClient.java b/core/src/main/java/com/predic8/membrane/core/azure/api/AzureApiClient.java index 033a1dd7c9..e63edc689c 100644 --- a/core/src/main/java/com/predic8/membrane/core/azure/api/AzureApiClient.java +++ b/core/src/main/java/com/predic8/membrane/core/azure/api/AzureApiClient.java @@ -13,16 +13,16 @@ limitations under the License. */ package com.predic8.membrane.core.azure.api; -import com.predic8.membrane.core.azure.AzureDns; -import com.predic8.membrane.core.azure.AzureIdentity; -import com.predic8.membrane.core.azure.AzureTableStorage; -import com.predic8.membrane.core.azure.api.auth.AuthenticationApi; -import com.predic8.membrane.core.azure.api.dns.DnsRecordApi; -import com.predic8.membrane.core.azure.api.tablestorage.TableStorageApi; -import com.predic8.membrane.core.transport.http.HttpClient; -import com.predic8.membrane.core.transport.http.HttpClientFactory; -import com.predic8.membrane.core.util.TimerManager; +import com.predic8.membrane.core.azure.*; +import com.predic8.membrane.core.azure.api.auth.*; +import com.predic8.membrane.core.azure.api.dns.*; +import com.predic8.membrane.core.azure.api.tablestorage.*; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.transport.http.*; +import com.predic8.membrane.core.util.*; +import org.jetbrains.annotations.*; +import javax.annotation.*; import javax.annotation.Nullable; public class AzureApiClient implements AutoCloseable { @@ -31,16 +31,12 @@ public class AzureApiClient implements AutoCloseable { private final AuthenticationApi authApi; private final TableStorageApi tableStorageApi; - public AzureApiClient( @Nullable AzureIdentity identityConfig, AzureTableStorage tableStorage, - HttpClientFactory httpClientFactory - ) { - if (httpClientFactory == null) { - httpClientFactory = new HttpClientFactory(new TimerManager()); - } - this.httpClient = httpClientFactory.createClient(tableStorage.getHttpClientConfiguration()); + @NotNull Router router + ) { + this.httpClient = router.getHttpClientFactory().createClient(tableStorage.getHttpClientConfiguration()); authApi = new AuthenticationApi(httpClient, identityConfig); tableStorageApi = new TableStorageApi(this, tableStorage); diff --git a/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java b/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java index 2077e180f3..0888a9d78d 100644 --- a/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java +++ b/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java @@ -135,7 +135,7 @@ public static String getExceptionMessageWithCauses(Throwable throwable) { return null; } - private static DefaultRouter initRouterByConfig(MembraneCommandLine commandLine) throws Exception { + private static Router initRouterByConfig(MembraneCommandLine commandLine) throws Exception { String config = getRulesFile(commandLine); if (config.endsWith(".xml")) { var router = initRouterByXml(config); @@ -155,11 +155,11 @@ private static Router initRouterByOpenApiSpec(MembraneCommandLine commandLine) t return router; } - private static DefaultRouter initRouterByYAML(MembraneCommandLine commandLine, String option) throws Exception { + private static Router initRouterByYAML(MembraneCommandLine commandLine, String option) throws Exception { return initRouterByYAML(commandLine.getCommand().getOptionValue(option)); } - private static DefaultRouter initRouterByYAML(String location) throws Exception { + private static Router initRouterByYAML(String location) throws Exception { var router = new DefaultRouter(); router.setBaseLocation(location); @@ -213,7 +213,7 @@ private static String getLocation(MembraneCommandLine commandLine) throws IOExce return new File(getUserDir(), location).getCanonicalPath(); } - private static DefaultRouter initRouterByXml(String config) throws Exception { + private static Router initRouterByXml(String config) throws Exception { try { return RouterXmlBootstrap.initByXML(config); } catch (XmlBeanDefinitionStoreException e) { diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/adminapi/DiskWatcher.java b/core/src/main/java/com/predic8/membrane/core/interceptor/adminapi/DiskWatcher.java index fbde695078..47bac7194b 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/adminapi/DiskWatcher.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/adminapi/DiskWatcher.java @@ -26,7 +26,7 @@ public class DiskWatcher { - private final static Logger LOG = LoggerFactory.getLogger(DiskWatcher.class.getName()); + private final static Logger log = LoggerFactory.getLogger(DiskWatcher.class.getName()); private WebSocketConnectionCollection connections; private int intervalMilliseconds = 10000; @@ -53,7 +53,7 @@ private void getDiskStats() { ) )); } catch (JsonProcessingException e) { - LOG.error("", e); // should not happen + log.error("", e); // should not happen } } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java index b9f241a1eb..a9ad979a87 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/ApiKeyStore.java @@ -20,7 +20,7 @@ public interface ApiKeyStore { /** - * Lifecycle hook invoked once to provide the {@link DefaultRouter} context. + * Lifecycle hook invoked once to provide the {@link Router} context. * Default is a no-op to preserve backward compatibility; implementations may override. * * @param router non-null router instance diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java index d23eac1b73..d065c5c8de 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/apikey/stores/JDBCApiKeyStore.java @@ -14,13 +14,11 @@ package com.predic8.membrane.core.interceptor.apikey.stores; -import com.predic8.membrane.annot.MCAttribute; -import com.predic8.membrane.annot.MCChildElement; -import com.predic8.membrane.annot.MCElement; -import com.predic8.membrane.core.router.DefaultRouter; -import com.predic8.membrane.core.util.ConfigurationException; -import com.predic8.membrane.core.util.jdbc.AbstractJdbcSupport; -import org.jetbrains.annotations.NotNull; +import com.predic8.membrane.annot.*; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.util.*; +import com.predic8.membrane.core.util.jdbc.*; +import org.jetbrains.annotations.*; import java.sql.*; import java.util.*; @@ -67,7 +65,7 @@ apikey VARCHAR(255) NOT NULL PRIMARY KEY """; @Override - public void init(DefaultRouter router) { + public void init(Router router) { super.init(router); createTablesIfNotExist(); } diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java index c6a4748a1c..cc78c6b0c0 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/balancer/BalancerHealthMonitor.java @@ -56,7 +56,7 @@ public class BalancerHealthMonitor implements ApplicationContextAware, Initializ */ public static final int INITIAL_DELAY = 5000; - private DefaultRouter router; + private Router router; private int interval = 10000; private HttpClient client; @@ -158,7 +158,7 @@ private Exchange doCall(String url) throws Exception { @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.router = applicationContext.getBean(DefaultRouter.class); + this.router = applicationContext.getBean(Router.class); } @Override @@ -204,7 +204,7 @@ public HttpClientConfiguration getHttpClientConfig() { } /** - * @see DefaultRouter#getHttpClientFactory() + * @see Router#getHttpClientFactory() * @see HttpClientConfiguration * * @description Optional HTTP client configuration for health probes (e.g., timeouts, TLS). diff --git a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java index acaee2fe76..088f3ff739 100644 --- a/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java +++ b/core/src/main/java/com/predic8/membrane/core/interceptor/oauth2server/LoginDialog2.java @@ -77,7 +77,7 @@ public LoginDialog2( wsi.setDocBase(dialogLocation); } - public void init(DefaultRouter router) throws Exception { + public void init(Router router) throws Exception { uriFactory = router.getConfiguration().getUriFactory(); wsi.init(router); router.getResolverMap().resolve(ResolverMap.combine(router.getBaseLocation(), wsi.getDocBase(), "index.html")).close(); diff --git a/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java b/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java index b5543c14c4..c81fc98f7d 100644 --- a/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/jmx/JmxRouter.java @@ -13,17 +13,15 @@ package com.predic8.membrane.core.jmx; -import com.predic8.membrane.core.router.DefaultRouter; -import com.predic8.membrane.core.proxies.Proxy; -import com.predic8.membrane.core.proxies.ServiceProxy; -import org.springframework.jmx.export.annotation.ManagedAttribute; -import org.springframework.jmx.export.annotation.ManagedResource; +import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; +import org.springframework.jmx.export.annotation.*; @ManagedResource() public class JmxRouter { - private final DefaultRouter router; + private final Router router; private final JmxExporter exporter; public JmxRouter(DefaultRouter router, JmxExporter exporter) { diff --git a/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java b/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java index 9a85457128..2ff89abd13 100644 --- a/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/jmx/JmxServiceProxy.java @@ -13,21 +13,19 @@ package com.predic8.membrane.core.jmx; -import com.predic8.membrane.core.router.DefaultRouter; -import com.predic8.membrane.core.proxies.ServiceProxy; -import org.springframework.jmx.export.annotation.ManagedAttribute; -import org.springframework.jmx.export.annotation.ManagedOperation; -import org.springframework.jmx.export.annotation.ManagedResource; +import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; +import org.springframework.jmx.export.annotation.*; -import java.io.IOException; +import java.io.*; @ManagedResource public class JmxServiceProxy { private final ServiceProxy rule; - private final DefaultRouter router; + private final Router router; - public JmxServiceProxy(ServiceProxy rule, DefaultRouter router) { + public JmxServiceProxy(ServiceProxy rule, Router router) { this.rule = rule; this.router = router; } diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java b/core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java index 56a62b03c1..7de357e2f3 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/RuleManager.java @@ -35,7 +35,7 @@ public class RuleManager { private static final Logger log = LoggerFactory.getLogger(RuleManager.class.getName()); - private DefaultRouter router; + private Router router; protected final List proxies = new Vector<>(); private final List ruleSources = new ArrayList<>(); @@ -74,7 +74,7 @@ public synchronized void addProxyAndOpenPortIfNew(SSLableProxy proxy, RuleDefini if (exists(proxy.getKey())) return; - router.getTransport().openPort(proxy, router.getTimerManager()); + router.getTransport().openPort(proxy); proxies.add(proxy); ruleSources.add(source); @@ -104,8 +104,8 @@ public synchronized void openPorts() throws IOException { if (proxy instanceof NotPortOpeningProxy) continue; - router.getTransport().openPort(proxy.getKey().getIp(), proxy.getKey().getPort(), sslProviders.get(getIpPort(proxy)), - router.getTimerManager()); + router.getTransport().openPort(proxy.getKey().getIp(), proxy.getKey().getPort(), sslProviders.get(getIpPort(proxy)) + ); } } @@ -282,7 +282,7 @@ public synchronized void removeAllRules() { removeRule(proxies.getFirst()); } - public void setRouter(DefaultRouter router) { + public void setRouter(Router router) { this.router = router; } diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java index 84298ad39a..3f7e2b779e 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/SOAPProxy.java @@ -53,7 +53,7 @@ * - Provides a simple service explorer * @explanation If the WSDL specified by the wsdl attribute is unavailable at startup, the <soapProxy> * becomes inactive. Reinitialization can be triggered via the admin console or automatically by the - * {@link DefaultRouter}, which periodically attempts to restore the proxy. + * {@link Router}, which periodically attempts to restore the proxy. * @topic 1. Proxies and Flow */ @MCElement(name = "soapProxy") diff --git a/core/src/main/java/com/predic8/membrane/core/proxies/SSLableProxy.java b/core/src/main/java/com/predic8/membrane/core/proxies/SSLableProxy.java index 890e5c22bc..6974b00e30 100644 --- a/core/src/main/java/com/predic8/membrane/core/proxies/SSLableProxy.java +++ b/core/src/main/java/com/predic8/membrane/core/proxies/SSLableProxy.java @@ -46,7 +46,7 @@ public void init() { AcmeSSLContext acmeCtx = (AcmeSSLContext) getSslInboundContext(); // TODO: remove this. // getSslInboundContext() of an inactive rule should not be called in the first place. if (acmeCtx == null) - acmeCtx = new AcmeSSLContext(sslInboundParser, host, router.getHttpClientFactory(), router.getTimerManager()); + acmeCtx = new AcmeSSLContext(sslInboundParser, host); setSslInboundContext(acmeCtx); acmeCtx.init(router); return; diff --git a/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java b/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java index 3f6a9ea9ad..99671a6e78 100644 --- a/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java +++ b/core/src/main/java/com/predic8/membrane/core/resolver/ResolverMap.java @@ -229,7 +229,7 @@ private SchemaResolver getSchemaResolver(String uri) { throw new RuntimeException("No SchemaResolver defined for " + uri); } - public void addRuleResolver(DefaultRouter r) { + public void addRuleResolver(Router r) { addSchemaResolver(new RuleResolver(r)); } diff --git a/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java b/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java index 0cb51cb60e..25b3168cb3 100644 --- a/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java +++ b/core/src/main/java/com/predic8/membrane/core/resolver/RuleResolver.java @@ -34,8 +34,9 @@ public class RuleResolver implements SchemaResolver { private static final Logger log = LoggerFactory.getLogger(RuleResolver.class); - final DefaultRouter router; - public RuleResolver(DefaultRouter router) { + final Router router; + + public RuleResolver(Router router) { this.router = router; } diff --git a/core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java b/core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java index 2f39dcaa11..67edbbfe7a 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/AbstractRouter.java @@ -19,7 +19,7 @@ public abstract class AbstractRouter implements Router, MainComponents { - private static final Logger log = LoggerFactory.getLogger(DefaultRouter.class); + private static final Logger log = LoggerFactory.getLogger(AbstractRouter.class); protected void initProxies() { log.debug("Initializing proxies."); diff --git a/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java index a1980a1b87..38038a9d8b 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DefaultMainComponents.java @@ -34,9 +34,9 @@ public class DefaultMainComponents implements MainComponents { - private static final Logger log = LoggerFactory.getLogger(DefaultRouter.class); + private static final Logger log = LoggerFactory.getLogger(DefaultMainComponents.class); - private DefaultRouter router; + private final DefaultRouter router; private ApplicationContext beanFactory; @@ -96,6 +96,7 @@ public void setRules(Collection proxies) { getRuleManager().addProxy(proxy, RuleManager.RuleDefinitionSource.SPRING); } + @Override public RuleManager getRuleManager() { return getRegistry().registerIfAbsent(RuleManager.class, () -> { RuleManager rm = new RuleManager(); @@ -116,6 +117,7 @@ public void setRuleManager(RuleManager ruleManager) { getRegistry().register("ruleManager", ruleManager); } + @Override public ExchangeStore getExchangeStore() { return getRegistry().getBean(ExchangeStore.class).orElseThrow(); } @@ -141,14 +143,17 @@ public void setHttpClientConfig(HttpClientConfiguration httpClientConfig) { getResolverMap().getHTTPSchemaResolver().setHttpClientConfig(httpClientConfig); } + @Override public DNSCache getDnsCache() { return getRegistry().getBean(DNSCache.class).orElseThrow(); // TODO } + @Override public ResolverMap getResolverMap() { return resolverMap; } + @Override public Statistics getStatistics() { return statistics; } @@ -157,10 +162,12 @@ public void setGlobalInterceptor(GlobalInterceptor globalInterceptor) { getRegistry().register("globalInterceptor", globalInterceptor); } + @Override public TimerManager getTimerManager() { return timerManager; } + @Override public KubernetesClientFactory getKubernetesClientFactory() { return kubernetesClientFactory; } diff --git a/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java b/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java index 2d7c948b67..cb60c1754c 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DefaultRouter.java @@ -399,22 +399,27 @@ public void waitFor() { } } + @Override public TimerManager getTimerManager() { return mainComponents.getTimerManager(); } + @Override public KubernetesClientFactory getKubernetesClientFactory() { return mainComponents.getKubernetesClientFactory(); } + @Override public HttpClientFactory getHttpClientFactory() { return mainComponents.getHttpClientFactory(); } + @Override public FlowController getFlowController() { return mainComponents.getFlowController(); } + @Override public void handleAsynchronousInitializationResult(boolean success) { log.debug("Asynchronous initialization finished."); if (!success && !configuration.isRetryInit()) @@ -458,6 +463,7 @@ public void setRegistry(BeanRegistry registry) { mainComponents.setRegistry(registry); } + public BeanRegistry getRegistry() { return mainComponents.getRegistry(); } @@ -478,6 +484,7 @@ public void setConfiguration(Configuration configuration) { this.configuration = configuration; } + @Override public Configuration getConfiguration() { return configuration; } diff --git a/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java b/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java index eb82416baa..314651c763 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java +++ b/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java @@ -121,9 +121,14 @@ public ApplicationContext getBeanFactory() { return applicationContext; } + @Override + public KubernetesClientFactory getKubernetesClientFactory() { + throw new UnsupportedOperationException(); + } + @Override public HttpClientFactory getHttpClientFactory() { - return null; + return httpClientFactory; } @Override @@ -141,8 +146,8 @@ public Statistics getStatistics() { * * TODO: Sync somehow with standard transport order maybe TransportConfig class or in Transport? */ - private static HttpTransport createTransport() { - HttpTransport transport = new HttpTransport(); + private HttpTransport createTransport() { + var transport = new HttpTransport(); List interceptors = new ArrayList<>(); interceptors.add(new RuleMatchingInterceptor()); interceptors.add(new DispatchingInterceptor()); @@ -151,6 +156,7 @@ private static HttpTransport createTransport() { HTTPClientInterceptor httpClientInterceptor = new HTTPClientInterceptor(); interceptors.add(httpClientInterceptor); transport.setFlow(interceptors); + transport.init(this); return transport; } diff --git a/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java index 78eee78ca2..5637d66fa6 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java @@ -16,10 +16,12 @@ import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.kubernetes.client.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; +import com.predic8.membrane.core.transport.http.client.*; import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.util.*; import org.springframework.context.*; @@ -45,8 +47,12 @@ public interface MainComponents { ApplicationContext getBeanFactory(); + KubernetesClientFactory getKubernetesClientFactory(); + HttpClientFactory getHttpClientFactory(); + HttpClientConfiguration getHttpClientConfig(); + TimerManager getTimerManager(); Statistics getStatistics(); diff --git a/core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java b/core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java index 7c784940cb..c64a7a3639 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java +++ b/core/src/main/java/com/predic8/membrane/core/router/RouterXmlBootstrap.java @@ -36,7 +36,7 @@ public class RouterXmlBootstrap { * @return the initialized {@link DefaultRouter} instance * @throws RuntimeException if no {@link DefaultRouter} bean is found or more than one {@link DefaultRouter} bean is found */ - public static DefaultRouter initByXML(String resource) { + public static Router initByXML(String resource) { log.debug("loading spring config: {}", resource); TrackingFileSystemXmlApplicationContext bf = @@ -54,7 +54,7 @@ public static DefaultRouter initByXML(String resource) { return router; } - public static DefaultRouter initFromXMLString(String xmlString) { + public static Router initFromXMLString(String xmlString) { log.debug("Loading spring config from string"); GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); ctx.load(new ByteArrayResource(xmlString.getBytes(StandardCharsets.UTF_8))); diff --git a/core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java b/core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java index 33df53f28d..709d407b55 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/RuleReinitializer.java @@ -23,7 +23,7 @@ public class RuleReinitializer { private static final Logger log = LoggerFactory.getLogger(RuleReinitializer.class); - private final DefaultRouter router; + private final Router router; private Timer timer; diff --git a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java index c91c066706..7a007dbc90 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/DefaultHotDeployer.java @@ -33,8 +33,8 @@ public class DefaultHotDeployer implements HotDeployer { private final Object lock = new Object(); @Override - public void start(@NotNull DefaultRouter router) { - this.router = router; + public void start(@NotNull DefaultRouter defaultRouter) { + this.router = defaultRouter; startInternal(); } diff --git a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java index 4d09bc9d54..71592e4143 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/HotDeployer.java @@ -18,7 +18,7 @@ public interface HotDeployer { - void start(DefaultRouter router); + void start(DefaultRouter defaultRouter); void stop(); diff --git a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java index 25e29897ae..4d8aaf39e4 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java +++ b/core/src/main/java/com/predic8/membrane/core/router/hotdeploy/NullHotDeployer.java @@ -17,8 +17,9 @@ import com.predic8.membrane.core.router.*; public class NullHotDeployer implements HotDeployer { + @Override - public void start(DefaultRouter router) { + public void start(DefaultRouter defaultRouter) { } diff --git a/core/src/main/java/com/predic8/membrane/core/transport/Transport.java b/core/src/main/java/com/predic8/membrane/core/transport/Transport.java index fdf057f5a4..1cbc8974f4 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/Transport.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/Transport.java @@ -20,7 +20,6 @@ import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.ssl.*; -import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.springframework.beans.factory.*; @@ -35,7 +34,7 @@ public abstract class Transport { protected final Set menuListeners = new HashSet<>(); private List interceptors = new Vector<>(); - private DefaultRouter router; + private Router router; private boolean reverseDNS = true; private int concurrentConnectionLimitPerIp = -1; @@ -53,7 +52,7 @@ public void setFlow(List flow) { this.interceptors = flow; } - public void init(DefaultRouter router) { + public void init(Router router) { this.router = router; if (interceptors.isEmpty()) { @@ -62,7 +61,8 @@ public void init(DefaultRouter router) { interceptors.add(getExchangeStoreInterceptor()); interceptors.add(getInterceptor(DispatchingInterceptor.class)); interceptors.add(getInterceptor(ReverseProxyingInterceptor.class)); - router.getRegistry().getBean(GlobalInterceptor.class).ifPresent(i -> interceptors.add(i )); + if (router instanceof DefaultRouter dr) + dr.getRegistry().getBean(GlobalInterceptor.class).ifPresent(i -> interceptors.add(i )); interceptors.add(getInterceptor(UserFeatureInterceptor.class)); interceptors.add(getInterceptor(InternalRoutingInterceptor.class)); interceptors.add(getInterceptor(HTTPClientInterceptor.class)); @@ -103,7 +103,7 @@ public void init(DefaultRouter router) { return new ExchangeStoreInterceptor(router.getExchangeStore()); } - public DefaultRouter getRouter() { + public Router getRouter() { return router; } @@ -118,10 +118,10 @@ public void closeAll() { public void closeAll(boolean waitForCompletion) { } - public void openPort(String ip, int port, SSLProvider sslProvider, TimerManager timerManager) throws IOException { + public void openPort(String ip, int port, SSLProvider sslProvider) throws IOException { } - public void openPort(SSLableProxy proxy, TimerManager timerManager) throws IOException { + public void openPort(SSLableProxy proxy) throws IOException { } public abstract boolean isOpeningPorts(); diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpEndpointListener.java b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpEndpointListener.java index 691ebee75b..9fdc37b56d 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpEndpointListener.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpEndpointListener.java @@ -17,11 +17,9 @@ import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.ssl.*; import com.predic8.membrane.core.util.*; -import com.predic8.membrane.core.util.text.*; import org.slf4j.Logger; import org.slf4j.*; -import javax.annotation.*; import java.io.*; import java.net.*; import java.util.*; @@ -46,7 +44,6 @@ public class HttpEndpointListener extends Thread { private final KeySetView idleSockets = ConcurrentHashMap.newKeySet(); private final KeySetView openSockets = ConcurrentHashMap.newKeySet(); private final ConcurrentHashMap ipConnectionCount = new ConcurrentHashMap<>(); - private TimerManager timerManager; // a TimerManager we have created ourselves private volatile boolean closed; @@ -74,15 +71,13 @@ public int decrementAndGet() { } } - public HttpEndpointListener(IpPort p, HttpTransport transport, SSLProvider sslProvider, @Nullable TimerManager timerManager) throws IOException { + public HttpEndpointListener(IpPort p, HttpTransport transport, SSLProvider sslProvider) throws IOException { this.transport = transport; this.sslProvider = sslProvider; try { serverSocket = getServerSocket(p); - if (timerManager == null) - timerManager = this.timerManager = new TimerManager(); - timerManager.schedulePeriodicTask(new TimerTask() { + transport.getRouter().getTimerManager().schedulePeriodicTask(new TimerTask() { @Override public void run() { ipConnectionCount.entrySet().removeIf(entry -> { @@ -211,8 +206,6 @@ public boolean closeConnections(boolean onlyIdle) { log.error("Error closing connection to {}", s.getRemoteSocketAddress()); } } - if (timerManager != null) - timerManager.shutdown(); return openSockets.isEmpty(); } diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java index 92b6734184..8e242b9a9d 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java @@ -23,7 +23,6 @@ import com.predic8.membrane.core.util.*; import org.slf4j.*; -import javax.annotation.*; import java.io.*; import java.lang.ref.*; import java.net.InetAddress; @@ -64,7 +63,7 @@ public class HttpTransport extends Transport { new SynchronousQueue<>(), new HttpServerThreadFactory()); @Override - public void init(DefaultRouter router) { + public void init(Router router) { super.init(router); } @@ -112,7 +111,7 @@ public synchronized void closeAll(boolean waitForCompletion) { closePort(ipPort); } log.debug("Closing all stream pumps."); - DefaultRouter router = getRouter(); + Router router = getRouter(); if (router != null) router.getStatistics().getStreamPumpStats().closeAllStreamPumps(); @@ -156,11 +155,10 @@ private void closeConnections(boolean onlyIdle) { /** * @param port Port to open - * @param timerManager timerManager * @throws IOException If port can not be opened */ @Override - public synchronized void openPort(String ip, int port, SSLProvider sslProvider, @Nullable TimerManager timerManager) throws IOException { + public synchronized void openPort(String ip, int port, SSLProvider sslProvider) throws IOException { if (port == -1) throw new RuntimeException("The port-attribute is missing (probably on a element)."); @@ -179,7 +177,7 @@ public synchronized void openPort(String ip, int port, SSLProvider sslProvider, throw new RuntimeException(createDiffInterfacesErrorMsg(p,mih)); } - HttpEndpointListener portListenerThread = new HttpEndpointListener(p, this, sslProvider, timerManager); + HttpEndpointListener portListenerThread = new HttpEndpointListener(p, this, sslProvider); mih.put(p, portListenerThread); portListenerThread.start(); @@ -189,9 +187,8 @@ public synchronized void openPort(String ip, int port, SSLProvider sslProvider, } @Override - public void openPort(SSLableProxy proxy, TimerManager timerManager) throws IOException { - TimerManager timerManager1 = getRouter() != null ? getRouter().getTimerManager() : null; - openPort(proxy.getKey().getIp(), proxy.getKey().getPort(), proxy.getSslInboundContext(), timerManager1); + public void openPort(SSLableProxy proxy) throws IOException { + openPort(proxy.getKey().getIp(), proxy.getKey().getPort(), proxy.getSslInboundContext()); } @Override diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java b/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java index b3760a7dc7..6eff7de3f9 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ssl/AcmeSSLContext.java @@ -40,34 +40,21 @@ public class AcmeSSLContext extends SSLContext { private final SSLParser parser; private final AcmeClient client; private final String[] hosts; - private final boolean selfCreatedTimerManager; - private final TimerManager timerManager; private final AtomicBoolean shutdown = new AtomicBoolean(false); private volatile AcmeKeyCert keyCert; + private Router router; - public AcmeSSLContext(SSLParser parser, - String[] hosts, - @Nullable HttpClientFactory httpClientFactory, - @Nullable TimerManager timerManager) { + public AcmeSSLContext(SSLParser parser, String[] hosts) { this.parser = parser; this.hosts = computeHostList(hosts, parser.getAcme().getHosts()); - client = new AcmeClient(parser.getAcme(), httpClientFactory); - selfCreatedTimerManager = timerManager == null; - this.timerManager = timerManager != null ? timerManager : new TimerManager(); + client = new AcmeClient(parser.getAcme()); } public void init(Router router) { - KubernetesClientFactory kcf = null; - if (router instanceof DefaultRouter dr) { - kcf = dr.getRegistry().getBean(KubernetesClientFactory.class).orElse(null); - } - init(kcf,router.getHttpClientFactory()); - } - - public void init(@Nullable KubernetesClientFactory kubernetesClientFactory, @Nullable HttpClientFactory httpClientFactory) { - client.init(kubernetesClientFactory, httpClientFactory); + this.router = router; + client.init(router); initAndSchedule(); } @@ -275,7 +262,7 @@ public void schedule() { if (shutdown.get()) return; - timerManager.schedule(new TimerTask() { + router.getTimerManager().schedule(new TimerTask() { @Override public void run() { if (!"never".equals(parser.getAcme().getRenewal())) @@ -292,8 +279,6 @@ public static long renewAt(long validFrom, long validUntil) { @Override public void stop() { shutdown.set(true); - if (selfCreatedTimerManager) - timerManager.shutdown(); } public boolean isReady() { diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeAzureTableApiStorageEngine.java b/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeAzureTableApiStorageEngine.java index 6be8811185..70d8c10bfe 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeAzureTableApiStorageEngine.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeAzureTableApiStorageEngine.java @@ -13,17 +13,16 @@ limitations under the License. */ package com.predic8.membrane.core.transport.ssl.acme; -import com.fasterxml.jackson.databind.JsonNode; -import com.predic8.membrane.core.azure.AzureDns; -import com.predic8.membrane.core.azure.AzureTableStorage; -import com.predic8.membrane.core.azure.api.dns.DnsProvisionable; -import com.predic8.membrane.core.azure.api.AzureApiClient; -import com.predic8.membrane.core.transport.http.HttpClientFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import com.fasterxml.jackson.databind.*; +import com.predic8.membrane.core.azure.*; +import com.predic8.membrane.core.azure.api.*; +import com.predic8.membrane.core.azure.api.dns.*; +import com.predic8.membrane.core.router.*; +import org.jetbrains.annotations.*; +import org.slf4j.*; import javax.annotation.Nullable; -import java.util.Arrays; +import java.util.*; public class AcmeAzureTableApiStorageEngine implements AcmeSynchronizedStorageEngine, DnsProvisionable { @@ -39,10 +38,10 @@ public class AcmeAzureTableApiStorageEngine implements AcmeSynchronizedStorageEn public AcmeAzureTableApiStorageEngine( AzureTableStorage tableStorage, @Nullable AzureDns azureDns, - @Nullable HttpClientFactory httpClientFactory - ) { + @NotNull Router router + ) { this.azureDns = azureDns; - apiClient = new AzureApiClient(azureDns == null ? null : azureDns.getIdentity(), tableStorage, httpClientFactory); + apiClient = new AzureApiClient(azureDns == null ? null : azureDns.getIdentity(), tableStorage, router); try { apiClient.tableStorage().table().create(); diff --git a/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeClient.java b/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeClient.java index 233e0fc688..6e8f313714 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeClient.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/ssl/acme/AcmeClient.java @@ -23,6 +23,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.kubernetes.client.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.util.*; import org.bouncycastle.asn1.*; @@ -41,13 +42,13 @@ import org.jetbrains.annotations.*; import org.joda.time.*; import org.jose4j.base64url.Base64; -import org.jose4j.json.JsonUtil; +import org.jose4j.json.*; import org.jose4j.jwk.*; import org.jose4j.jws.*; import org.jose4j.keys.*; import org.jose4j.lang.*; -import org.slf4j.Logger; import org.slf4j.*; +import org.slf4j.Logger; import javax.annotation.Nullable; import javax.security.auth.x500.*; @@ -63,28 +64,32 @@ import static com.predic8.membrane.core.Constants.*; import static com.predic8.membrane.core.http.Header.*; import static com.predic8.membrane.core.http.MimeType.*; -import static com.predic8.membrane.core.http.Request.post; +import static com.predic8.membrane.core.http.Request.*; import static com.predic8.membrane.core.transport.ssl.acme.Challenge.*; import static com.predic8.membrane.core.transport.ssl.acme.Identifier.*; import static java.lang.System.*; import static java.nio.charset.StandardCharsets.*; +import static org.bouncycastle.jce.provider.BouncyCastleProvider.*; import static org.jose4j.lang.HashUtil.*; public class AcmeClient { + private static final Logger log = LoggerFactory.getLogger(AcmeClient.class); + public static final String BEGIN_CERTIFICATE_REQUEST = "-----BEGIN CERTIFICATE REQUEST-----"; public static final String END_CERTIFICATE_REQUEST = "-----END CERTIFICATE REQUEST-----"; + public static final String BEGIN_PUBLIC_KEY = "-----BEGIN PUBLIC KEY-----\n"; + public static final String END_PUBLIC_KEY = "\n-----END PUBLIC KEY-----\n"; static { Security.addProvider(new BouncyCastleProvider()); } - private static final Logger LOG = LoggerFactory.getLogger(AcmeClient.class); private static final SecureRandom random = new SecureRandom(); private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); private final String directoryUrl; - private final HttpClient hc; + private HttpClient hc; private final ObjectMapper om = new ObjectMapper(); private final List nonces = new ArrayList<>(); private final String challengeType; @@ -103,14 +108,14 @@ public class AcmeClient { private AcmeSynchronizedStorageEngine asse; private final AcmeValidation acmeValidation; - public AcmeClient(Acme acme, @Nullable HttpClientFactory httpClientFactory) { + private final Acme acme; + + public AcmeClient(Acme acme) { + this.acme =acme; directoryUrl = acme.getDirectoryUrl(); termsOfServiceAgreed = acme.isTermsOfServiceAgreed(); ass = acme.getAcmeSynchronizedStorage(); contacts = Arrays.asList(acme.getContacts().split(" +")); - if (httpClientFactory == null) - httpClientFactory = new HttpClientFactory(null); - hc = httpClientFactory.createClient(acme.getHttpClientConfiguration()); validity = acme.getValidityDuration(); this.acmeValidation = acme.getValidationMethod(); challengeType = acme.getValidationMethod() != null && acme.getValidationMethod().useDnsValidation() ? TYPE_DNS_01 : TYPE_HTTP_01; @@ -121,15 +126,17 @@ public AcmeClient(Acme acme, @Nullable HttpClientFactory httpClientFactory) { throw new RuntimeException("The ACME client is still experimental, please set to acknowledge."); } - public void init(@Nullable KubernetesClientFactory kubernetesClientFactory, @Nullable HttpClientFactory httpClientFactory) { + public void init(@NotNull Router router) { + hc = router.getHttpClientFactory().createClient(acme.getHttpClientConfiguration()); + switch (ass) { case null -> throw new RuntimeException(" is used, but to storage is configured."); case FileStorage fileStorage -> asse = new AcmeFileStorageEngine(fileStorage); case KubernetesStorage kubernetesStorage -> - asse = new AcmeKubernetesStorageEngine(kubernetesStorage, kubernetesClientFactory); + asse = new AcmeKubernetesStorageEngine(kubernetesStorage, router.getKubernetesClientFactory()); case MemoryStorage memoryStorage -> asse = new AcmeMemoryStorageEngine(); case AzureTableStorage azureTableStorage -> - asse = new AcmeAzureTableApiStorageEngine(azureTableStorage, (AzureDns) acmeValidation, httpClientFactory); + asse = new AcmeAzureTableApiStorageEngine(azureTableStorage, (AzureDns) acmeValidation, router); default -> throw new RuntimeException("Unsupported: Storage type " + ass.getClass().getName()); } @@ -181,7 +188,7 @@ private List parse(List subproblems) { new AcmeException.SubProblem( (String) m.get("type"), (String) m.get("detail"), - (Map)m.get("identifier"))).collect(Collectors.toList()); + (Map) m.get("identifier"))).collect(Collectors.toList()); } public String retrieveNewNonce() throws Exception { @@ -210,9 +217,7 @@ public AcmeKeyPair generateCertificateKey() { } private static @NotNull String getPublicKeyBase64Encoded(KeyPair kp) { - return "-----BEGIN PUBLIC KEY-----\n" - + Base64.encode(kp.getPublic().getEncoded()) + - "\n-----END PUBLIC KEY-----\n"; + return BEGIN_PUBLIC_KEY + Base64.encode(kp.getPublic().getEncoded()) + END_PUBLIC_KEY; } private static @NotNull String getKeyBase64Encoded(KeyPair kp) { @@ -222,7 +227,7 @@ public AcmeKeyPair generateCertificateKey() { } private static @NotNull KeyPairGenerator getKeyPairGenerator() throws NoSuchAlgorithmException, NoSuchProviderException, InvalidAlgorithmParameterException { - KeyPairGenerator kpg = KeyPairGenerator.getInstance("ECDSA", BouncyCastleProvider.PROVIDER_NAME); + KeyPairGenerator kpg = KeyPairGenerator.getInstance("ECDSA", PROVIDER_NAME); kpg.initialize(new ECGenParameterSpec("secp384r1"), random); return kpg; } @@ -237,7 +242,8 @@ public String generateCSR(String[] hosts, String privateKey) { p10Builder.addAttribute(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest, getExtensions(GeneralNames.getInstance(new DERSequence(getGeneralNames(hosts))))); return formatCSR(convertCSR2String(getPkcs10CertificationRequest(pk, p10Builder))); - } catch (NoSuchAlgorithmException | IOException | OperatorCreationException | InvalidKeySpecException | NoSuchProviderException e) { + } catch (NoSuchAlgorithmException | IOException | OperatorCreationException | InvalidKeySpecException | + NoSuchProviderException e) { throw new RuntimeException(e); } } @@ -277,7 +283,7 @@ private static Extensions getExtensions(GeneralNames subjectAltNames) throws IOE } private static PrivateKey getPrivateKeyFromString(String privateKey) throws NoSuchAlgorithmException, NoSuchProviderException, IOException, InvalidKeySpecException { - KeyFactory factory = KeyFactory.getInstance("ECDSA", BouncyCastleProvider.PROVIDER_NAME); + KeyFactory factory = KeyFactory.getInstance("ECDSA", PROVIDER_NAME); PrivateKey pk; try (PemReader pemReader = new PemReader(new StringReader(privateKey))) { PemObject pemObject = pemReader.readPemObject(); @@ -304,7 +310,7 @@ public String getToken(String host) { public String provision(Authorization auth) throws Exception { Optional challenge = auth.getChallenges().stream().filter(c -> challengeType.equals(c.getType())).findAny(); if (challenge.isEmpty()) - throw new RuntimeException("Could not find challenge of type "+challengeType+": " + om.writeValueAsString(auth)); + throw new RuntimeException("Could not find challenge of type %s: %s".formatted(challengeType, om.writeValueAsString(auth))); if (!TYPE_DNS.equals(auth.getIdentifier().getType())) throw new RuntimeException("Identifier type is not DNS: " + om.writeValueAsString(auth)); @@ -325,7 +331,7 @@ private void provisionDns(Authorization auth, Challenge challenge) throws JoseEx MessageDigest digest = MessageDigest.getInstance("SHA-256"); String record = java.util.Base64.getUrlEncoder().withoutPadding().encodeToString(digest.digest(keyAuth.getBytes(UTF_8))); - ((DnsProvisionable)asse).provisionDns(auth.getIdentifier().getValue(), record); + ((DnsProvisionable) asse).provisionDns(auth.getIdentifier().getValue(), record); } private void provisionHttp(Authorization auth, Challenge challenge) { @@ -357,7 +363,7 @@ private Exchange createExchange(String url, String nonce, JWSParametrizer c) thr } private static String convert2String(MyJsonWebSignature jws) { - Map json = new LinkedHashMap<>(); + Map json = new LinkedHashMap<>(); json.put("protected", jws.getEncodedHeader()); json.put("payload", jws.getEncodedPayload()); json.put("signature", jws.getEncodedSignature()); @@ -478,7 +484,7 @@ private Exchange createExchange(String accountUrl, List hostnames, Pair< if (validity != null) { Date now = new Date(); synchronized (sdf) { - return new Pair<>(sdf.format(now), sdf.format(new Date(now.getTime() + validity.getMillis())) ); + return new Pair<>(sdf.format(now), sdf.format(new Date(now.getTime() + validity.getMillis()))); } } return new Pair<>(null, null); @@ -555,8 +561,8 @@ private Key getPrivateKey() throws JoseException { privateKey = ek.getPrivateKey(); publicJsonWebKey = ek; } else { - if (LOG.isDebugEnabled()) - LOG.debug("acme: generating key"); + if (log.isDebugEnabled()) + log.debug("acme: generating key"); EllipticCurveJsonWebKey jwk = generateKey(); privateKey = jwk.getPrivateKey(); asse.setAccountKey(jwk.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE)); diff --git a/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java b/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java index 112a14ef2f..2fcf86440a 100644 --- a/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java +++ b/core/src/main/java/com/predic8/membrane/core/util/jdbc/AbstractJdbcSupport.java @@ -14,17 +14,17 @@ package com.predic8.membrane.core.util.jdbc; -import com.predic8.membrane.annot.MCAttribute; -import com.predic8.membrane.core.router.DefaultRouter; -import com.predic8.membrane.core.util.ConfigurationException; +import com.predic8.membrane.annot.*; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.util.*; -import javax.sql.DataSource; -import java.util.Map; +import javax.sql.*; +import java.util.*; public abstract class AbstractJdbcSupport { private DataSource datasource; - private DefaultRouter router; + private Router router; private static final String DATASOURCE_SAMPLE = """ Sample: @@ -48,7 +48,7 @@ public abstract class AbstractJdbcSupport { """; - public void init(DefaultRouter router) { + public void init(Router router) { this.router = router; getDatasourceIfNull(); } diff --git a/core/src/test/java/com/predic8/membrane/core/MockRouter.java b/core/src/test/java/com/predic8/membrane/core/MockRouter.java deleted file mode 100644 index e5fef3393f..0000000000 --- a/core/src/test/java/com/predic8/membrane/core/MockRouter.java +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2011 predic8 GmbH, www.predic8.com - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. */ -package com.predic8.membrane.core; - -import com.predic8.membrane.core.exchangestore.*; -import com.predic8.membrane.core.router.*; -import com.predic8.membrane.core.transport.http.*; - -public class MockRouter extends DefaultRouter { - - public MockRouter() { - setExchangeStore(new ForgetfulExchangeStore()); - } - - @Override - public HttpTransport getTransport() { - return new MockHttpTransport(); - } - -} \ No newline at end of file diff --git a/core/src/test/java/com/predic8/membrane/core/RuleManagerTest.java b/core/src/test/java/com/predic8/membrane/core/RuleManagerTest.java index 99ee5f3dd0..e66a52b246 100644 --- a/core/src/test/java/com/predic8/membrane/core/RuleManagerTest.java +++ b/core/src/test/java/com/predic8/membrane/core/RuleManagerTest.java @@ -15,6 +15,7 @@ import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; import java.net.*; @@ -31,12 +32,13 @@ public class RuleManagerTest { ServiceProxy forwardBlzPOST; InternalProxy internal; - MockRouter router; + Router router; @BeforeEach public void setUp() throws Exception{ manager = new RuleManager(); - router = new MockRouter(); + router = new TestRouter(); + router.init(); manager.setRouter(router); proxy3013 = new ProxyRule(new ProxyRuleKey(3013)); manager.addProxyAndOpenPortIfNew(proxy3013); diff --git a/core/src/test/java/com/predic8/membrane/core/SimpleTest.java b/core/src/test/java/com/predic8/membrane/core/SimpleTest.java index 9528103eb5..7ef22c56c8 100644 --- a/core/src/test/java/com/predic8/membrane/core/SimpleTest.java +++ b/core/src/test/java/com/predic8/membrane/core/SimpleTest.java @@ -20,7 +20,7 @@ public class SimpleTest { - private static DefaultRouter router; + private static Router router; @BeforeAll static void setUp() { diff --git a/core/src/test/java/com/predic8/membrane/core/TestRouter.java b/core/src/test/java/com/predic8/membrane/core/TestRouter.java index 28bdc54714..b4d404e66f 100644 --- a/core/src/test/java/com/predic8/membrane/core/TestRouter.java +++ b/core/src/test/java/com/predic8/membrane/core/TestRouter.java @@ -14,30 +14,187 @@ package com.predic8.membrane.core; +import com.predic8.membrane.annot.beanregistry.*; +import com.predic8.membrane.core.exchangestore.*; +import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.kubernetes.client.*; +import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; +import com.predic8.membrane.core.transport.http.streampump.*; +import com.predic8.membrane.core.util.*; +import org.springframework.context.*; + +import java.io.*; + +import static com.predic8.membrane.core.proxies.RuleManager.RuleDefinitionSource.*; + /** * Opens ports but does not start hotdeployer, reinit, ... + *

+ * Limitations: + * - Does not support Registry */ -public class TestRouter extends DefaultRouter { +public class TestRouter extends AbstractRouter implements BeanRegistryAware { - public TestRouter() { + private ApplicationContext beanFactory; + + protected BeanRegistry registry = new BeanRegistryImplementation(null, this, null); + + protected Transport transport = new HttpTransport(); + + private final TimerManager timerManager = new TimerManager(); + private final HttpClientFactory httpClientFactory = new HttpClientFactory(timerManager); + private final HttpClientConfiguration httpClientConfiguration = new HttpClientConfiguration(); + private final KubernetesClientFactory kubernetesClientFactory = new KubernetesClientFactory(httpClientFactory); + protected ResolverMap resolverMap; + + protected RuleManager ruleManager = new RuleManager(); + + protected final Statistics statistics = new Statistics(); + + protected final DNSCache dnsCache = new DNSCache(); + + protected Configuration configuration = new Configuration(); + + protected FlowController flowController = new FlowController(this); + + protected ExchangeStore exchangeStore = new ForgetfulExchangeStore(); + + + @Override + public void init() { + transport.init(this); + ruleManager.setRouter(this); } - /* - TODO: overwrite init(), start() to do nothing - */ + @Override + public void start() { + init(); + initProxies(); + try { + getRuleManager().openPorts(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } public TestRouter(ProxyConfiguration proxyConfiguration) { + this(); if (proxyConfiguration != null) getResolverMap().getHTTPSchemaResolver().getHttpClientConfig().setProxy(proxyConfiguration); } + public TestRouter() { + resolverMap = new ResolverMap(httpClientFactory, kubernetesClientFactory); + resolverMap.addRuleResolver(this); + } + @Override public HttpTransport getTransport() { - return (HttpTransport) super.getTransport(); + return (HttpTransport) transport; + + } + + public void setTransport(Transport transport) { + this.transport = transport; + } + + @Override + public FlowController getFlowController() { + return flowController; + } + + @Override + public ExchangeStore getExchangeStore() { + return exchangeStore; } + @Override + public void setExchangeStore(ExchangeStore exchangeStore) { + this.exchangeStore = exchangeStore; + } + + @Override + public RuleManager getRuleManager() { + return ruleManager; + } + + @Override + public ResolverMap getResolverMap() { + return resolverMap; + } + + @Override + public DNSCache getDnsCache() { + return dnsCache; + } + + @Override + public ApplicationContext getBeanFactory() { + return null; + } + + @Override + public KubernetesClientFactory getKubernetesClientFactory() { + return kubernetesClientFactory; + } + + @Override + public HttpClientFactory getHttpClientFactory() { + return httpClientFactory; + } + + @Override + public HttpClientConfiguration getHttpClientConfig() { + return httpClientConfiguration; + } + + @Override + public TimerManager getTimerManager() { + return timerManager; + } + + @Override + public Statistics getStatistics() { + return statistics; + } + + public BeanRegistry getRegistry() { + return registry; + } + + @Override + public void add(Proxy proxy) throws IOException { + ruleManager.addProxy(proxy, MANUAL); + } + + @Override + public Configuration getConfiguration() { + return configuration; + } + + @Override + public String getBaseLocation() { + return ""; + } + + @Override + public void stop() { + transport.closeAll(); + } + + @Override + public boolean isRunning() { + return false; + } + + @Override + public void setRegistry(BeanRegistry registry) { + this.registry = registry; + } } diff --git a/core/src/test/java/com/predic8/membrane/core/azure/AzureApiClientTest.java b/core/src/test/java/com/predic8/membrane/core/azure/AzureApiClientTest.java index 8618c1cbdc..2b9d169452 100644 --- a/core/src/test/java/com/predic8/membrane/core/azure/AzureApiClientTest.java +++ b/core/src/test/java/com/predic8/membrane/core/azure/AzureApiClientTest.java @@ -14,6 +14,9 @@ package com.predic8.membrane.core.azure; import com.predic8.membrane.core.azure.api.AzureApiClient; +import com.predic8.membrane.core.router.*; +import com.predic8.membrane.core.transport.http.*; +import com.predic8.membrane.core.util.*; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -41,7 +44,7 @@ void setup() throws IOException { simulator = new AzureDnsApiSimulator(port); simulator.start(); - apiClient = new AzureApiClient(null, tableStorage, null); + apiClient = new AzureApiClient(null, tableStorage, new DummyTestRouter()); } @AfterEach diff --git a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java index 82c4df48aa..0cb78217af 100644 --- a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesConfigurationTest.java @@ -23,7 +23,7 @@ public class ReadRulesConfigurationTest { - private static DefaultRouter router; + private static Router router; private static List proxies; diff --git a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java index 09d9764065..f2b9c92661 100644 --- a/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/config/ReadRulesWithInterceptorsConfigurationTest.java @@ -24,7 +24,7 @@ public class ReadRulesWithInterceptorsConfigurationTest { - private static DefaultRouter router; + private static Router router; private static List proxies; diff --git a/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java b/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java index cac2b86d9d..79a523ae08 100644 --- a/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java +++ b/core/src/test/java/com/predic8/membrane/core/config/SpringReferencesTest.java @@ -25,7 +25,7 @@ public class SpringReferencesTest { - private static DefaultRouter r; + private static Router r; @BeforeAll public static void before() { diff --git a/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java b/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java index fb2963303a..e821b263e8 100644 --- a/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java +++ b/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java @@ -165,12 +165,12 @@ public List getInsertedObjectsAndClearList() { } @Test - public void testWithoutLogging() throws Exception { + void withoutLogging() throws Exception { runTest(false); } @Test - public void testWithLogging() throws Exception { + void withLogging() throws Exception { runTest(true); } diff --git a/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java b/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java index 55e7407b83..54d91e09a6 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java +++ b/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java @@ -30,8 +30,8 @@ import static org.junit.jupiter.api.Assertions.*; public class Http10Test { - private static DefaultRouter router; - private static DefaultRouter router2; + private static Router router; + private static Router router2; @BeforeAll public static void setUp() throws Exception { diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java index 8dc43c2639..9f23ae10d5 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/InternalInvocationTest.java @@ -22,7 +22,7 @@ public class InternalInvocationTest { - private DefaultRouter router; + private Router router; @BeforeEach public void setUp() throws Exception { diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java index be99deb920..a2448b6131 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/UserFeatureTest.java @@ -30,7 +30,7 @@ class UserFeatureTest { public static final String MOCK_5 = "mock5"; public static final String MOCK_6 = "mock6"; public static final String MOCK_2 = "mock2"; - private static DefaultRouter router; + private static Router router; static List labels, inverseLabels, inversAbortLabels; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterNotificationInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterNotificationInterceptorTest.java index 4a306b92cb..54f98fd391 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterNotificationInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/ClusterNotificationInterceptorTest.java @@ -16,13 +16,13 @@ import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.apache.commons.codec.*; import org.apache.commons.codec.binary.*; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; -import org.mockito.internal.configuration.*; import javax.crypto.*; import javax.crypto.spec.*; @@ -30,20 +30,20 @@ import java.security.*; import static com.predic8.membrane.core.util.URLParamUtil.*; -import static java.lang.System.currentTimeMillis; +import static java.lang.System.*; import static java.nio.charset.StandardCharsets.*; -import static javax.crypto.Cipher.ENCRYPT_MODE; -import static org.apache.commons.codec.binary.Base64.encodeBase64; +import static javax.crypto.Cipher.*; +import static org.apache.commons.codec.binary.Base64.*; import static org.junit.jupiter.api.Assertions.*; public class ClusterNotificationInterceptorTest { - private TestRouter router; + private DefaultRouter router; private ClusterNotificationInterceptor interceptor; @BeforeEach public void setUp() throws Exception { ServiceProxy proxy = new ServiceProxy(new ServiceProxyKey("localhost", "*", ".*", 3002), "thomas-bayer.com", 80); - router = new TestRouter(); + router = new DefaultRouter(); router.add(proxy); interceptor = new ClusterNotificationInterceptor(); diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java index 56c118a608..09c431a33a 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/balancer/LoadBalancingWithClusterManagerTest.java @@ -96,7 +96,7 @@ void nodesTest() throws Exception { } private static @NotNull DefaultRouter createRouter() { - DefaultRouter node1 = new TestRouter(); + DefaultRouter node1 = new DefaultRouter(); node1.getRegistry().register("global", new GlobalInterceptor()); return node1; } diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java index 5505672bde..738ea573f3 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyRuleTest.java @@ -25,7 +25,7 @@ public class ProxyRuleTest { - private static DefaultRouter router; + private static Router router; private static ProxyRule proxy; @BeforeAll diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java index 3ca84b2805..985824f456 100755 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTransportTest.java @@ -14,13 +14,7 @@ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.annot.beanregistry.*; -import com.predic8.membrane.core.exchangestore.*; -import com.predic8.membrane.core.interceptor.GlobalInterceptor; -import com.predic8.membrane.core.proxies.*; -import com.predic8.membrane.core.resolver.*; import com.predic8.membrane.core.router.*; -import com.predic8.membrane.core.transport.http.streampump.*; import com.predic8.membrane.core.transport.ssl.*; import org.junit.jupiter.api.*; @@ -31,59 +25,43 @@ public class HttpTransportTest { - private final HTTPSchemaResolver httpSchemaResolver = mock(HTTPSchemaResolver.class); - private final ResolverMap resolverMap = mock(ResolverMap.class); private final SSLProvider sslProvider = mock(SSLProvider.class); - private final RuleManager ruleManager = mock(RuleManager.class); - private final DefaultRouter router = mock(DefaultRouter.class); - private final ExchangeStore exchangeStore = mock(ExchangeStore.class); - private final Statistics statistics = new Statistics(); private HttpTransport transport; - private final GlobalInterceptor globalInterceptor = new GlobalInterceptor(); @BeforeEach - void before() throws Exception { - when(resolverMap.getHTTPSchemaResolver()).thenReturn(httpSchemaResolver); - when(router.getResolverMap()).thenReturn(resolverMap); - when(router.getRuleManager()).thenReturn(ruleManager); - when(router.getExchangeStore()).thenReturn(exchangeStore); - when(router.getHttpClientFactory()).thenReturn(new HttpClientFactory(null)); - when(router.getStatistics()).thenReturn(statistics); - BeanRegistryImplementation value = new BeanRegistryImplementation(null, router, null); // Do not inline! Otherwise mocking is not possible! - when(router.getRegistry()).thenReturn(value); - - transport = new HttpTransport(); - transport.init(router); + void before() { + var router = new DummyTestRouter(); + transport = router.getTransport(); } @AfterEach - public void after() { + void after() { transport.closeAll(); } @Test - public final void testCloseAllBoolean() { + void testCloseAllBoolean() { transport.closeAll(false); transport.closeAll(true); } @Test - public final void testOpenPortOK_NoSSL() throws IOException { - transport.openPort("localhost", 3000, null, null); - transport.openPort("127.0.0.1", 3001, null, null); + void testOpenPortOK_NoSSL() throws IOException { + transport.openPort("localhost", 3000, null); + transport.openPort("127.0.0.1", 3001, null); } @Test - public final void testOpenPortOK_SSL() throws IOException { - transport.openPort("localhost", 80, sslProvider, null); - transport.openPort("127.0.0.1", 80, sslProvider, null); + void testOpenPortOK_SSL() throws IOException { + transport.openPort("localhost", 80, sslProvider); + transport.openPort("127.0.0.1", 80, sslProvider); } @Test - public final void testOpenPortErr_SSL() throws IOException { - transport.openPort("localhost", 80, sslProvider, null); + void testOpenPortErr_SSL() throws IOException { + transport.openPort("localhost", 80, sslProvider); try { - transport.openPort("127.0.0.1", 80, null, null); + transport.openPort("127.0.0.1", 80, null); fail("Should throw RuntimeException"); } catch (RuntimeException e) { assertEquals("Lister thread on '/127.0.0.1:80' should use the same SSL config", e.getMessage()); @@ -91,10 +69,10 @@ public final void testOpenPortErr_SSL() throws IOException { } @Test - public final void testOpenPortErr_0() throws IOException { - transport.openPort("localhost", 80, sslProvider, null); + void testOpenPortErr_0() throws IOException { + transport.openPort("localhost", 80, sslProvider); try { - transport.openPort(null, 80, sslProvider, null); + transport.openPort(null, 80, sslProvider); fail("Should throw RuntimeException"); } catch (RuntimeException e) { assertEquals("Conflict with listening on the same net interfaces ['*:80', 'localhost/127.0.0.1:80']", @@ -103,10 +81,10 @@ public final void testOpenPortErr_0() throws IOException { } @Test - public final void testOpenPortErr_1() throws IOException { - transport.openPort(null, 80, sslProvider, null); + void testOpenPortErr_1() throws IOException { + transport.openPort(null, 80, sslProvider); try { - transport.openPort("127.0.0.1", 80, sslProvider, null); + transport.openPort("127.0.0.1", 80, sslProvider); fail("Should throw RuntimeException"); } catch (RuntimeException e) { assertEquals("Conflict with listening on the same net interfaces ['/127.0.0.1:80', '*:80']", @@ -115,42 +93,41 @@ public final void testOpenPortErr_1() throws IOException { } @Test - public final void testIsOpeningPorts() { + void testIsOpeningPorts() { assertTrue(transport.isOpeningPorts()); } @Test - public final void testClosePort() throws IOException { - transport.openPort("localhost", 80, sslProvider, null); - transport.openPort("127.0.0.1", 80, sslProvider, null); + void testClosePort() throws IOException { + transport.openPort("localhost", 80, sslProvider); + transport.openPort("127.0.0.1", 80, sslProvider); transport.closePort(new IpPort("192.1.1.1", 80)); transport.closePort(new IpPort("localhost", 80)); } @Test - public final void testGetExecutorService() { + void testGetExecutorService() { assertNotNull(transport.getExecutorService()); } @Test - public final void testSetGetSocketTimeout() { + void testSetGetSocketTimeout() { assertEquals(30000, transport.getSocketTimeout()); transport.setSocketTimeout(12); assertEquals(12, transport.getSocketTimeout()); } @Test - public final void testSetIsTcpNoDelay() { + void testSetIsTcpNoDelay() { assertTrue(transport.isTcpNoDelay()); transport.setTcpNoDelay(false); assertFalse(transport.isTcpNoDelay()); } @Test - public final void testSetGetForceSocketCloseOnHotDeployAfter() { + void testSetGetForceSocketCloseOnHotDeployAfter() { assertEquals(30000, transport.getForceSocketCloseOnHotDeployAfter()); transport.setForceSocketCloseOnHotDeployAfter(13); assertEquals(13, transport.getForceSocketCloseOnHotDeployAfter()); } - } diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/MockHttpTransport.java b/core/src/test/java/com/predic8/membrane/core/transport/http/MockHttpTransport.java deleted file mode 100644 index fbf0970485..0000000000 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/MockHttpTransport.java +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright 2011, 2012 predic8 GmbH, www.predic8.com - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. */ -package com.predic8.membrane.core.transport.http; - -import java.io.IOException; - -import com.predic8.membrane.core.transport.ssl.SSLProvider; -import com.predic8.membrane.core.util.TimerManager; - -public class MockHttpTransport extends HttpTransport { - - @Override - public synchronized void openPort(String ip, int port, SSLProvider sslProvider, TimerManager timerManager) throws IOException { - } -} diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java index 2d4e5b5b7a..db40f9bb7c 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/client/HttpClientConfigurationTest.java @@ -30,7 +30,7 @@ */ class HttpClientConfigurationTest { - DefaultRouter router; + Router router; HttpClientConfiguration configuration; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java index 8a1a5df4cf..cd9c90ff03 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java @@ -13,6 +13,7 @@ limitations under the License. */ package com.predic8.membrane.integration.withoutinternet.interceptor.oauth2; +import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.authentication.session.*; import com.predic8.membrane.core.interceptor.flow.*; @@ -39,7 +40,7 @@ class OAuth2Test { - static DefaultRouter router; + static TestRouter router; static DefaultRouter router2; static ServiceProxy oAuth2ServerProxy; @@ -53,7 +54,7 @@ class OAuth2Test { @BeforeAll static void startup() throws Exception { - router = new DefaultRouter(); + router = new TestRouter(); router.getConfiguration().setHotDeploy(false); router.setExchangeStore(new ForgetfulExchangeStore()); router.setTransport(new HttpTransport()); @@ -63,7 +64,7 @@ static void startup() throws Exception { oAuth2ServerProxy.setFlow(List.of(oAuth2ASI)); - router.getRuleManager().addProxyAndOpenPortIfNew(oAuth2ServerProxy); + router.add(oAuth2ServerProxy); router.init(); router.start(); @@ -80,7 +81,7 @@ static void startup() throws Exception { new StaticInterceptor(){{setSrc("{\"success\": \"true\"}");}}, new ReturnInterceptor())); - router2.getRuleManager().addProxyAndOpenPortIfNew(jwtAuthProxy); + router2.add(jwtAuthProxy); router2.init(); router2.start(); } From bf4bb65eef9fecd7e0f12b0e1a92eaf6b47f848a Mon Sep 17 00:00:00 2001 From: Thomas Bayer Date: Thu, 1 Jan 2026 20:22:47 +0100 Subject: [PATCH 4/6] refactor: update `LargeBodyTest` to replace `TestRouter` with `Router`, streamline initialization and lifecycle management --- .../withinternet/LargeBodyTest.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java index 41060bbe2b..89632c5d88 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java @@ -18,6 +18,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; import org.jetbrains.annotations.*; @@ -35,7 +36,7 @@ public class LargeBodyTest { - private static TestRouter router, router2; + private static Router router, router2; private static HttpClientConfiguration hcc; private static final AtomicReference middleExchange = new AtomicReference<>(); @@ -55,7 +56,7 @@ public Outcome handleRequest(Exchange exc) { } }); - startNewRouter(router, proxy); + router = startNewRouter(proxy); ServiceProxy proxy1 = getProxy(3041, "localhost", 3040); proxy1.getFlow().add(new AbstractInterceptor() { @@ -66,18 +67,19 @@ public Outcome handleRequest(Exchange exc) { } }); - startNewRouter(router2, proxy1); + router2 = startNewRouter(proxy1); } private static @NotNull ServiceProxy getProxy(int port, String targetHost, int targetPort) { return new ServiceProxy(new ServiceProxyKey("localhost", "POST", ".*", port), targetHost, targetPort); } - private static void startNewRouter(TestRouter router, ServiceProxy proxy) throws IOException { - router = new TestRouter(); + private static Router startNewRouter(ServiceProxy proxy) throws IOException { + var router = new TestRouter(); router.add(proxy); router.start(); setClientConfigHTTPClientOnInterceptor(router); + return router; } private static void setClientConfigHTTPClientOnInterceptor(TestRouter router2) { @@ -88,10 +90,8 @@ private static void setClientConfigHTTPClientOnInterceptor(TestRouter router2) { @AfterAll public static void shutdown() { - if (router != null) - router.stop(); - if (router2 != null) - router2.stop(); + router.stop(); + router2.stop(); } @Test From 31cee4bff2e2ac3685957e9244e393c42012be0d Mon Sep 17 00:00:00 2001 From: Thomas Bayer Date: Thu, 1 Jan 2026 21:56:29 +0100 Subject: [PATCH 5/6] refactor: simplify imports, remove unused methods, and improve lifecycle handling across routers and tests --- .../predic8/membrane/core/cli/RouterCLI.java | 2 +- .../client/KubernetesClientFactory.java | 32 ++++--- .../membrane/core/router/MainComponents.java | 2 - .../membrane/core/transport/Transport.java | 1 - .../core/transport/http/HttpTransport.java | 8 -- .../membrane/AbstractTestWithRouter.java | 1 - .../core/azure/AzureDnsApiSimulator.java | 1 - .../core/exchangestore/AbortExchangeTest.java | 2 +- .../ElasticSearchExchangeStoreTest.java | 2 +- .../membrane/core/http/ChunkedBodyTest.java | 1 - .../membrane/core/http/Http10Test.java | 1 - .../membrane/core/http/Http11Test.java | 1 - .../membrane/core/http/MethodTest.java | 1 - .../interceptor/AdjustContentLengthTest.java | 1 - .../adminapi/AdminApiInterceptorTest.java | 3 +- .../AbstractInterceptorFlowTest.java | 1 - ...InternalServiceRoutingInterceptorTest.java | 1 - .../OAuth2ResourceErrorForwardingTest.java | 2 +- .../client/OAuth2ResourceRpIniLogoutTest.java | 1 - .../oauth2/client/OAuth2ResourceTest.java | 2 +- .../oauth2/client/b2c/B2CMembrane.java | 2 +- .../client/b2c/MockAuthorizationServer.java | 1 - .../server/WSDLPublisherInterceptorTest.java | 1 - .../session/SessionInterceptorTest.java | 1 - .../soap/SoapAndInternalProxyTest.java | 1 - .../client/KubernetesClientTest.java | 1 - .../serviceproxy/OpenAPI31ReferencesTest.java | 1 - .../openapi/serviceproxy/Swagger20Test.java | 1 - .../core/proxies/APIProxyKeyTest.java | 1 - .../core/proxies/InternalProxyTest.java | 1 - .../membrane/core/proxies/ProxyTest.java | 1 - ...SOAPProxyWSDLPublisherInterceptorTest.java | 1 - .../core/proxies/ServiceProxyTest.java | 1 - .../ServiceProxyWSDLInterceptorsTest.java | 1 - .../membrane/core/resolver/ResolverTest.java | 1 - .../membrane/core/router/DummyTestRouter.java | 31 ++++--- .../core/{ => router}/TestRouter.java | 7 +- .../transport/http/BoundConnectionTest.java | 1 - .../http/ConcurrentConnectionLimitTest.java | 1 - .../core/transport/http/ConnectionTest.java | 1 - .../transport/http/Http2DowngradeTest.java | 1 - .../transport/http/HttpKeepAliveTest.java | 1 - .../core/transport/http/HttpTimeoutTest.java | 1 - .../http/IllegalCharactersInURLTest.java | 1 - .../transport/http/ServiceInvocationTest.java | 1 - .../http2/Http2ClientServerTest.java | 1 - .../transport/ssl/HttpsKeepAliveTest.java | 1 - .../ssl/acme/AcmeServerSimulator.java | 1 - .../core/transport/ssl/acme/AcmeStepTest.java | 2 +- .../core/ws/SoapProxyInvocationTest.java | 1 - .../predic8/membrane/integration/Util.java | 1 - .../withinternet/LargeBodyTest.java | 1 - .../ProxySSLConnectionMethodTest.java | 3 +- .../withinternet/ViaProxyTest.java | 1 - .../RewriteInterceptorIntegrationTest.java | 1 - ...tedMemoryExchangeStoreIntegrationTest.java | 93 ++++++++----------- .../MassivelyParallelTest.java | 2 +- .../interceptor/AcmeRenewTest.java | 1 - .../OpenApiRewriteIntegrationTest.java | 1 - .../REST2SOAPInterceptorIntegrationTest.java | 1 - .../interceptor/SOAPProxyIntegrationTest.java | 1 - ...th2AuthorizationServerInterceptorBase.java | 1 - .../interceptor/oauth2/OAuth2Test.java | 1 - ...nterceptorFaultMonitoringStrategyTest.java | 1 - .../LoadBalancingInterceptorTest.java | 1 - .../MultipleLoadBalancersTest.java | 1 - 66 files changed, 84 insertions(+), 161 deletions(-) rename core/src/{main => test}/java/com/predic8/membrane/core/router/DummyTestRouter.java (95%) rename core/src/test/java/com/predic8/membrane/core/{ => router}/TestRouter.java (97%) diff --git a/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java b/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java index 0888a9d78d..267f8265d3 100644 --- a/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java +++ b/core/src/main/java/com/predic8/membrane/core/cli/RouterCLI.java @@ -149,7 +149,7 @@ private static Router initRouterByConfig(MembraneCommandLine commandLine) throws } private static Router initRouterByOpenApiSpec(MembraneCommandLine commandLine) throws Exception { - Router router = new DummyTestRouter(); + Router router = new DefaultRouter(); router.getRuleManager().addProxyAndOpenPortIfNew(getApiProxy(commandLine)); router.init(); return router; diff --git a/core/src/main/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientFactory.java b/core/src/main/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientFactory.java index f19cd347fa..71d743d81c 100644 --- a/core/src/main/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientFactory.java +++ b/core/src/main/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientFactory.java @@ -13,9 +13,9 @@ limitations under the License. */ package com.predic8.membrane.core.kubernetes.client; -import com.predic8.membrane.core.transport.http.HttpClientFactory; +import com.predic8.membrane.core.transport.http.*; -import java.util.WeakHashMap; +import java.util.*; /** * Sharing the KubernetesClient instances has two benefits: @@ -23,8 +23,8 @@ *

  • The KubernetesClient only uses one HttpClient and thereby shares the timer (connection closer) and connection pool.
  • *
  • The KubernetesClient only downloads the schema once (speeding up initialization).
  • * - * - * + *

    + *

    * Note: "baseUrl" is the KubernetesClient's only supported configuration. (KubernetesClientBuilder supports more, which * would need to be implemented here.) */ @@ -40,17 +40,19 @@ public synchronized KubernetesClient createClient(String baseUrl) { if (clients == null) clients = new WeakHashMap<>(); KubernetesClient client = clients.get(baseUrl); - if (client == null) - try { - KubernetesClientBuilder builder = KubernetesClientBuilder.auto() - .httpClientFactory(httpClientFactory); - if (baseUrl != null) - builder.baseURL(baseUrl); - client = builder.build(); - clients.put(baseUrl, client); - } catch (KubernetesClientBuilder.ParsingException e) { - throw new RuntimeException(e); - } + if (client != null) + return client; + + try { + KubernetesClientBuilder builder = KubernetesClientBuilder.auto() + .httpClientFactory(httpClientFactory); + if (baseUrl != null) + builder.baseURL(baseUrl); + client = builder.build(); + clients.put(baseUrl, client); + } catch (KubernetesClientBuilder.ParsingException e) { + throw new RuntimeException(e); + } return client; } } diff --git a/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java index 5637d66fa6..112bc054be 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java +++ b/core/src/main/java/com/predic8/membrane/core/router/MainComponents.java @@ -37,8 +37,6 @@ public interface MainComponents { ExchangeStore getExchangeStore(); - void setExchangeStore(ExchangeStore exchangeStore); - RuleManager getRuleManager(); ResolverMap getResolverMap(); diff --git a/core/src/main/java/com/predic8/membrane/core/transport/Transport.java b/core/src/main/java/com/predic8/membrane/core/transport/Transport.java index 1cbc8974f4..9ab7def63b 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/Transport.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/Transport.java @@ -31,7 +31,6 @@ public abstract class Transport { /** * SSL and Non-SSL are mixed here, maybe split that in future */ - protected final Set menuListeners = new HashSet<>(); private List interceptors = new Vector<>(); private Router router; diff --git a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java index 8e242b9a9d..d9b0671964 100644 --- a/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java +++ b/core/src/main/java/com/predic8/membrane/core/transport/http/HttpTransport.java @@ -94,10 +94,6 @@ public synchronized void closePort(IpPort p) { portListenerMapping.remove(p.port()); } stillRunning.add(new WeakReference<>(plt)); - - for (IPortChangeListener listener : menuListeners) { - listener.removePort(p.port()); - } } @Override @@ -180,10 +176,6 @@ public synchronized void openPort(String ip, int port, SSLProvider sslProvider) HttpEndpointListener portListenerThread = new HttpEndpointListener(p, this, sslProvider); mih.put(p, portListenerThread); portListenerThread.start(); - - for (IPortChangeListener listener : menuListeners) { - listener.addPort(port); - } } @Override diff --git a/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java b/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java index f068a51506..c75a82f640 100644 --- a/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java +++ b/core/src/test/java/com/predic8/membrane/AbstractTestWithRouter.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java b/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java index e43c43c77a..8fe6754a6c 100644 --- a/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java +++ b/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java @@ -15,7 +15,6 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.AbstractInterceptor; diff --git a/core/src/test/java/com/predic8/membrane/core/exchangestore/AbortExchangeTest.java b/core/src/test/java/com/predic8/membrane/core/exchangestore/AbortExchangeTest.java index a528f26900..c4afd60cbb 100644 --- a/core/src/test/java/com/predic8/membrane/core/exchangestore/AbortExchangeTest.java +++ b/core/src/test/java/com/predic8/membrane/core/exchangestore/AbortExchangeTest.java @@ -13,11 +13,11 @@ limitations under the License. */ package com.predic8.membrane.core.exchangestore; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.apache.commons.io.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java b/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java index e821b263e8..4eed99c2f4 100644 --- a/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java +++ b/core/src/test/java/com/predic8/membrane/core/exchangestore/ElasticSearchExchangeStoreTest.java @@ -16,7 +16,6 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; @@ -24,6 +23,7 @@ import com.predic8.membrane.core.interceptor.log.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.jetbrains.annotations.*; import org.jose4j.base64url.Base64; diff --git a/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java b/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java index 624e2a705b..8d67fe8157 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/http/ChunkedBodyTest.java @@ -16,7 +16,6 @@ import com.fasterxml.jackson.databind.*; import com.google.common.io.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.config.security.KeyStore; import com.predic8.membrane.core.exchange.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java b/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java index 54d91e09a6..430b56d592 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java +++ b/core/src/test/java/com/predic8/membrane/core/http/Http10Test.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java b/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java index 23268eb324..059b7bb7b5 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java +++ b/core/src/test/java/com/predic8/membrane/core/http/Http11Test.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; diff --git a/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java b/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java index ee9e6b12c6..dcd099750f 100644 --- a/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java +++ b/core/src/test/java/com/predic8/membrane/core/http/MethodTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.flow.invocation.testinterceptors.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java index 698fad8f85..b396fff8ae 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/AdjustContentLengthTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java index 6855331c0a..8bc3839ba0 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/adminapi/AdminApiInterceptorTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.adminapi; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.http.*; @@ -36,7 +35,7 @@ class AdminApiInterceptorTest { - private static Router router; + private static TestRouter router; @BeforeAll static void setUp() throws IOException { diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java index 362c5ce8ca..344c83bed4 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/AbstractInterceptorFlowTest.java @@ -16,7 +16,6 @@ package com.predic8.membrane.core.interceptor.flow.invocation; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.proxies.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java index 9414f4ec1e..b6efff8bc1 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/flow/invocation/internalservice/AbstractInternalServiceRoutingInterceptorTest.java @@ -16,7 +16,6 @@ package com.predic8.membrane.core.interceptor.flow.invocation.internalservice; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.openapi.serviceproxy.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceErrorForwardingTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceErrorForwardingTest.java index 4fabd88b9a..d4702572de 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceErrorForwardingTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceErrorForwardingTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.interceptor.oauth2.client; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; @@ -25,6 +24,7 @@ import com.predic8.membrane.core.interceptor.oauth2client.rf.*; import com.predic8.membrane.core.interceptor.session.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java index 0908cc4e34..5d346c57f1 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceRpIniLogoutTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.interceptor.oauth2.client; import com.fasterxml.jackson.databind.ObjectMapper; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.http.Request; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceTest.java index 58719d3a90..91a419b8c3 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/OAuth2ResourceTest.java @@ -16,7 +16,6 @@ import com.fasterxml.jackson.core.type.*; import com.fasterxml.jackson.databind.*; import com.google.code.yanf4j.util.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; @@ -25,6 +24,7 @@ import com.predic8.membrane.core.interceptor.oauth2client.*; import com.predic8.membrane.core.interceptor.oauth2client.rf.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/B2CMembrane.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/B2CMembrane.java index 3f46e0be38..04b53d5c15 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/B2CMembrane.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/B2CMembrane.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.interceptor.oauth2.client.b2c; import com.fasterxml.jackson.databind.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; @@ -24,6 +23,7 @@ import com.predic8.membrane.core.interceptor.oauth2client.*; import com.predic8.membrane.core.interceptor.session.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import org.jetbrains.annotations.*; import java.io.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java index 57fd352504..a92f9be023 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/oauth2/client/b2c/MockAuthorizationServer.java @@ -16,7 +16,6 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java index 2c9f6b7532..9e626a8f01 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/server/WSDLPublisherInterceptorTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.server; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; import com.predic8.membrane.test.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java index d038e798f0..bfa48c8557 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/session/SessionInterceptorTest.java @@ -17,7 +17,6 @@ import com.fasterxml.jackson.core.type.*; import com.fasterxml.jackson.databind.*; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java b/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java index 6b77d446ae..e9ae29ad3b 100644 --- a/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/interceptor/soap/SoapAndInternalProxyTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.interceptor.soap; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.server.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; diff --git a/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java b/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java index 0c169244e4..15f5874542 100644 --- a/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java +++ b/core/src/test/java/com/predic8/membrane/core/kubernetes/client/KubernetesClientTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.kubernetes.client; import com.google.common.io.Resources; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.Response; import com.predic8.membrane.core.interceptor.AbstractInterceptor; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java index c99684180a..4ef1464016 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/OpenAPI31ReferencesTest.java @@ -16,7 +16,6 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.util.*; diff --git a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java index 2a6004020c..bc733c83c3 100644 --- a/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java +++ b/core/src/test/java/com/predic8/membrane/core/openapi/serviceproxy/Swagger20Test.java @@ -16,7 +16,6 @@ package com.predic8.membrane.core.openapi.serviceproxy; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java index ad2905a8c0..92cb57c7b3 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/APIProxyKeyTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java index 29783a61bb..fb78c5716c 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/InternalProxyTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.groovy.*; import com.predic8.membrane.core.openapi.serviceproxy.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java index 6ab25f871d..1913b63f4a 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ProxyTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.config.security.KeyStore; import com.predic8.membrane.core.exchange.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java index 13ccfb9683..ca896fedc7 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/SOAPProxyWSDLPublisherInterceptorTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java index ac1ba258c9..71de45004c 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.openapi.serviceproxy.*; import com.predic8.membrane.core.router.*; diff --git a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java index fb614dd82a..1881a4024e 100644 --- a/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java +++ b/core/src/test/java/com/predic8/membrane/core/proxies/ServiceProxyWSDLInterceptorsTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.proxies; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.server.*; diff --git a/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java b/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java index 44e9f7f112..c2dca5d940 100644 --- a/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java +++ b/core/src/test/java/com/predic8/membrane/core/resolver/ResolverTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.resolver; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.schemavalidation.*; diff --git a/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java b/core/src/test/java/com/predic8/membrane/core/router/DummyTestRouter.java similarity index 95% rename from core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java rename to core/src/test/java/com/predic8/membrane/core/router/DummyTestRouter.java index 314651c763..93875051a6 100644 --- a/core/src/main/java/com/predic8/membrane/core/router/DummyTestRouter.java +++ b/core/src/test/java/com/predic8/membrane/core/router/DummyTestRouter.java @@ -28,11 +28,11 @@ import java.io.*; import java.util.*; -import static com.predic8.membrane.core.proxies.RuleManager.RuleDefinitionSource.MANUAL; +import static com.predic8.membrane.core.proxies.RuleManager.RuleDefinitionSource.*; /** - * TODO rename this class: It is also being used in case the router is being started - * from the command line (=in a non-test environment). + * Lightweight test router that doesn't open any ports. + * Fell free to add setters if needed. */ public class DummyTestRouter extends AbstractRouter { @@ -71,6 +71,17 @@ public void init() { initProxies(); } + /** + * Does not open any ports. + */ + @Override + public void start() { + } + + @Override + public void stop() { + } + @Override public void add(Proxy proxy) throws IOException { ruleManager.addProxy(proxy, MANUAL); @@ -143,7 +154,7 @@ public Statistics getStatistics() { /** * Same as the default config from monitor-beans.xml - * + *

    * TODO: Sync somehow with standard transport order maybe TransportConfig class or in Transport? */ private HttpTransport createTransport() { @@ -160,16 +171,6 @@ private HttpTransport createTransport() { return transport; } - @Override - public void start() { - - } - - @Override - public void stop() { - - } - @Override public boolean isRunning() { return false; @@ -184,7 +185,7 @@ public void setHttpClientConfig(HttpClientConfiguration httpClientConfig) { } public HttpClientConfiguration getHttpClientConfig() { - return resolverMap.getHTTPSchemaResolver().getHttpClientConfig(); + return resolverMap.getHTTPSchemaResolver().getHttpClientConfig(); } public void setApplicationContext(ApplicationContext applicationContext) { diff --git a/core/src/test/java/com/predic8/membrane/core/TestRouter.java b/core/src/test/java/com/predic8/membrane/core/router/TestRouter.java similarity index 97% rename from core/src/test/java/com/predic8/membrane/core/TestRouter.java rename to core/src/test/java/com/predic8/membrane/core/router/TestRouter.java index b4d404e66f..4f101f4171 100644 --- a/core/src/test/java/com/predic8/membrane/core/TestRouter.java +++ b/core/src/test/java/com/predic8/membrane/core/router/TestRouter.java @@ -12,7 +12,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package com.predic8.membrane.core; +package com.predic8.membrane.core.router; import com.predic8.membrane.annot.beanregistry.*; import com.predic8.membrane.core.exchangestore.*; @@ -20,7 +20,6 @@ import com.predic8.membrane.core.kubernetes.client.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.resolver.*; -import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.http.client.*; @@ -35,14 +34,13 @@ /** * Opens ports but does not start hotdeployer, reinit, ... + * Allows to overwrite components with setters. *

    * Limitations: * - Does not support Registry */ public class TestRouter extends AbstractRouter implements BeanRegistryAware { - private ApplicationContext beanFactory; - protected BeanRegistry registry = new BeanRegistryImplementation(null, this, null); protected Transport transport = new HttpTransport(); @@ -114,7 +112,6 @@ public ExchangeStore getExchangeStore() { return exchangeStore; } - @Override public void setExchangeStore(ExchangeStore exchangeStore) { this.exchangeStore = exchangeStore; } diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java index 08908d14ea..85cd9eb07a 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/BoundConnectionTest.java @@ -15,7 +15,6 @@ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java index 0885a1a49e..a717ba7d4c 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/ConcurrentConnectionLimitTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java index 6de8b38290..c3bb14a35b 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/ConnectionTest.java @@ -15,7 +15,6 @@ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java index 7867d0e7b6..0e3d011e6f 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/Http2DowngradeTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java index 89d2048c63..5d36ad42fd 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpKeepAliveTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java index 5dfae76d39..3e2686bc8a 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/HttpTimeoutTest.java @@ -15,7 +15,6 @@ package com.predic8.membrane.core.transport.http; import com.google.common.base.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java index a432bf0c17..7bf669dcb4 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/IllegalCharactersInURLTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java index 2fd407917f..7c8ab4603e 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http/ServiceInvocationTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.transport.http; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.templating.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java b/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java index 3820e5eec6..f6b88abe36 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/http2/Http2ClientServerTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.transport.http2; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java index 7f9d8b6222..8c316cdfaa 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/HttpsKeepAliveTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.transport.ssl; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java index 191f935ca2..1a53366b90 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java @@ -17,7 +17,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableMap; import com.google.common.io.Resources; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.Exchange; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.AbstractInterceptor; diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeStepTest.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeStepTest.java index 4d9b10d6d3..42618cfe40 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeStepTest.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeStepTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.core.transport.ssl.acme; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.Certificate; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.config.security.acme.*; @@ -22,6 +21,7 @@ import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import com.predic8.membrane.core.transport.ssl.*; import org.bouncycastle.jce.provider.*; diff --git a/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java b/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java index 8817f08af4..5370285bf8 100644 --- a/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java +++ b/core/src/test/java/com/predic8/membrane/core/ws/SoapProxyInvocationTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.core.ws; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.lang.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/Util.java b/core/src/test/java/com/predic8/membrane/integration/Util.java index f879ce9597..1070d170b8 100644 --- a/core/src/test/java/com/predic8/membrane/integration/Util.java +++ b/core/src/test/java/com/predic8/membrane/integration/Util.java @@ -14,7 +14,6 @@ package com.predic8.membrane.integration; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.proxies.AbstractServiceProxy.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java index 89632c5d88..666df8f8ee 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/LargeBodyTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withinternet; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java index 1ef3d673c3..b9540bcd8b 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/ProxySSLConnectionMethodTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.integration.withinternet; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.MemoryExchangeStore; import com.predic8.membrane.core.proxies.ProxyRule; import com.predic8.membrane.core.proxies.ProxyRuleKey; @@ -29,7 +28,7 @@ class ProxySSLConnectionMethodTest { - private Router router; + private TestRouter router; @BeforeEach void setUp() throws Exception { diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java index b532472453..9b071c22d3 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/ViaProxyTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withinternet; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java index e7dfea4fea..429f351682 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withinternet/interceptor/RewriteInterceptorIntegrationTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withinternet.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.interceptor.rewrite.RewriteInterceptor; import com.predic8.membrane.core.interceptor.rewrite.RewriteInterceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java index f8b0fa498b..eb6ece4664 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/LimitedMemoryExchangeStoreIntegrationTest.java @@ -14,11 +14,11 @@ package com.predic8.membrane.integration.withoutinternet; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; +import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.proxies.*; import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; @@ -27,40 +27,36 @@ import org.jetbrains.annotations.*; import org.junit.jupiter.api.*; +import java.net.*; import java.util.concurrent.atomic.*; import static com.predic8.membrane.core.http.Header.*; -import static com.predic8.membrane.core.interceptor.Outcome.*; +import static com.predic8.membrane.core.http.Request.*; +import static java.lang.Integer.*; import static org.junit.jupiter.api.Assertions.*; public class LimitedMemoryExchangeStoreIntegrationTest { private static LimitedMemoryExchangeStore lmes; - private static Router router; - private static Router router2; + private static DefaultRouter router; + private static DefaultRouter router2; private static HttpClientConfiguration hcc; private static final AtomicReference middleExchange = new AtomicReference<>(); - @BeforeAll - static void setup() throws Exception { + @BeforeEach + void setup() throws Exception { lmes = new LimitedMemoryExchangeStore(); - lmes.setMaxSize(500000); - + lmes.setMaxSize(500_000); + lmes.removeAllExchanges((AbstractExchange[]) lmes.getAllExchanges()); // streaming only works for maxRetries = 1 hcc = new HttpClientConfiguration(); hcc.getRetryHandler().setRetries(1); ServiceProxy proxy = getServiceProxy(3045, "dummy", 80); - proxy.getFlow().add(new AbstractInterceptor() { - @Override - public Outcome handleRequest(Exchange exc) { - exc.setResponse(Response.ok().body("").build()); - return RETURN; - } - }); - router = new TestRouter(); + proxy.getFlow().add(new ReturnInterceptor()); + router = new DefaultRouter(); router.add(proxy); router.start(); - setClientConfig(router,hcc); + setClientConfig(router, hcc); ServiceProxy proxy1 = getServiceProxy(3046, "localhost", 3045); proxy1.getFlow().add(new AbstractInterceptor() { @@ -70,12 +66,14 @@ public Outcome handleRequest(Exchange exc) { return super.handleRequest(exc); } }); - router2 = new TestRouter(); + router2 = new DefaultRouter(); router2.setExchangeStore(lmes); router2.add(proxy1); router2.start(); - setClientConfig(router2,hcc); - router2.getTransport().getFlow().add(3, new ExchangeStoreInterceptor(lmes)); + setClientConfig(router2, hcc); + var global = new GlobalInterceptor(); + global.getFlow().add(new ExchangeStoreInterceptor(lmes)); + router.getRegistry().register("global", global); } private static void setClientConfig(Router router, HttpClientConfiguration hcc) { @@ -92,60 +90,47 @@ private static void setClientConfig(Router router, HttpClientConfiguration hcc) return router.getTransport().getFirstInterceptorOfType(HTTPClientInterceptor.class).orElseThrow(); } - @BeforeEach - public void init() { - lmes.removeAllExchanges((AbstractExchange[]) lmes.getAllExchanges()); - } - - @AfterAll - public static void shutdown() { - if (router != null) - router.stop(); - if (router2 != null) - router2.stop(); + @AfterEach + void shutdown() { + router.stop(); + router2.stop(); } @Test - public void small() throws Exception { + void small() throws Exception { long len = 100; - - Exchange e = new Request.Builder().post("http://localhost:3046/foo").body(len, new LargeBodyTest.ConstantInputStream(len)).buildExchange(); - try (HttpClient hc = new HttpClient(hcc)) { - hc.call(e); - } - assertTrue(e.getRequest().getBody().wasStreamed()); - assertTrue(middleExchange.get().getRequest().getBody().wasStreamed()); - + call(prepareExchange(len).buildExchange()); assertEquals(1, lmes.getAllExchangesAsList().size()); assertEquals(len, lmes.getAllExchangesAsList().getFirst().getRequest().getBody().getLength()); } @Test - public void large() throws Exception { - long len = Integer.MAX_VALUE + 1L; - - Exchange e = new Request.Builder().post("http://localhost:3046/foo").body(len, new LargeBodyTest.ConstantInputStream(len)).buildExchange(); - try (HttpClient hc = new HttpClient(hcc)) { - hc.call(e); - } - assertTrue(e.getRequest().getBody().wasStreamed()); - assertTrue(middleExchange.get().getRequest().getBody().wasStreamed()); + void large() throws Exception { + long len = MAX_VALUE + 1L; + call(prepareExchange(len).buildExchange()); int snappedLength = lmes.getAllExchangesAsList().getFirst().getRequest().getBody().getLength(); assertTrue(100000 <= snappedLength && snappedLength <= 150000); } @Test - public void largeChunked() throws Exception { - long len = Integer.MAX_VALUE + 1L; + void largeChunked() throws Exception { + long len = MAX_VALUE + 1L; + Exchange e = prepareExchange(len).header(TRANSFER_ENCODING, CHUNKED).buildExchange(); + call(e); + int snappedLength = lmes.getAllExchangesAsList().getFirst().getRequest().getBody().getLength(); + assertTrue(100000 <= snappedLength && snappedLength <= 150000); + } - Exchange e = new Request.Builder().post("http://localhost:3046/foo").body(len, new LargeBodyTest.ConstantInputStream(len)).header(TRANSFER_ENCODING, CHUNKED).buildExchange(); + private static Builder prepareExchange(long len) throws URISyntaxException { + return post("http://localhost:3046/foo").body(len, new LargeBodyTest.ConstantInputStream(len)); + } + + private static void call(Exchange e) throws Exception { try (HttpClient hc = new HttpClient(hcc)) { hc.call(e); } assertTrue(e.getRequest().getBody().wasStreamed()); assertTrue(middleExchange.get().getRequest().getBody().wasStreamed()); - int snappedLength = lmes.getAllExchangesAsList().getFirst().getRequest().getBody().getLength(); - assertTrue(100000 <= snappedLength && snappedLength <= 150000); } } diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java index e326bd5ec7..ad82dd7559 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/MassivelyParallelTest.java @@ -14,10 +14,10 @@ package com.predic8.membrane.integration.withoutinternet; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.proxies.*; +import com.predic8.membrane.core.router.*; import com.predic8.membrane.core.transport.http.*; import org.junit.jupiter.api.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java index a41b8e8755..e04659dd0e 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/AcmeRenewTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.integration.withoutinternet.interceptor; import com.google.common.collect.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.config.security.Certificate; import com.predic8.membrane.core.config.security.*; import com.predic8.membrane.core.config.security.acme.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java index 912e47e906..2517a7b124 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/OpenApiRewriteIntegrationTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withoutinternet.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.flow.*; import com.predic8.membrane.core.interceptor.log.*; import com.predic8.membrane.core.openapi.serviceproxy.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java index 8804aaa248..e9f5818a83 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/REST2SOAPInterceptorIntegrationTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withoutinternet.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.rest.REST2SOAPInterceptor; import com.predic8.membrane.core.interceptor.rest.REST2SOAPInterceptor.*; import com.predic8.membrane.core.interceptor.soap.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java index 640c14e4b1..ee5013dde7 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/SOAPProxyIntegrationTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withoutinternet.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.interceptor.soap.*; import com.predic8.membrane.core.proxies.ServiceProxy; import com.predic8.membrane.core.proxies.ServiceProxyKey; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java index 1eb3d00649..6248d54fd6 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2AuthorizationServerInterceptorBase.java @@ -13,7 +13,6 @@ package com.predic8.membrane.integration.withoutinternet.interceptor.oauth2; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.authentication.session.*; diff --git a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java index cd9c90ff03..85952f4467 100644 --- a/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java +++ b/core/src/test/java/com/predic8/membrane/integration/withoutinternet/interceptor/oauth2/OAuth2Test.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.integration.withoutinternet.interceptor.oauth2; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchangestore.*; import com.predic8.membrane.core.interceptor.authentication.session.*; import com.predic8.membrane.core.interceptor.flow.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java index 97ea1d779e..5e46326f9c 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorFaultMonitoringStrategyTest.java @@ -15,7 +15,6 @@ package com.predic8.membrane.interceptor; import com.google.common.base.*; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.interceptor.*; import com.predic8.membrane.core.interceptor.balancer.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java index 66f873c1bd..f34d2e48b5 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/LoadBalancingInterceptorTest.java @@ -13,7 +13,6 @@ limitations under the License. */ package com.predic8.membrane.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.exchange.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.interceptor.*; diff --git a/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java b/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java index e65b990d7e..95dc9a6388 100644 --- a/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java +++ b/core/src/test/java/com/predic8/membrane/interceptor/MultipleLoadBalancersTest.java @@ -14,7 +14,6 @@ package com.predic8.membrane.interceptor; -import com.predic8.membrane.core.*; import com.predic8.membrane.core.http.*; import com.predic8.membrane.core.http.Header; import com.predic8.membrane.core.interceptor.balancer.*; From 0e1532e6f26382552825d1372c5aa343d1a37c40 Mon Sep 17 00:00:00 2001 From: Thomas Bayer Date: Thu, 1 Jan 2026 21:59:53 +0100 Subject: [PATCH 6/6] refactor: simplify `AzureDnsApiSimulator` by replacing `Outcome.RETURN` with static import and minor cleanup in methods --- .../core/azure/AzureDnsApiSimulator.java | 36 +++++++++---------- .../ssl/acme/AcmeServerSimulator.java | 2 +- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java b/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java index 8fe6754a6c..0862da6f63 100644 --- a/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java +++ b/core/src/test/java/com/predic8/membrane/core/azure/AzureDnsApiSimulator.java @@ -29,6 +29,8 @@ import java.util.*; import java.util.regex.Pattern; +import static com.predic8.membrane.core.interceptor.Outcome.RETURN; + public class AzureDnsApiSimulator { private static final Logger log = LoggerFactory.getLogger(AzureDnsApiSimulator.class); @@ -63,7 +65,7 @@ public Outcome handleRequestInternal(Exchange exc) throws IOException { if (missingHeaders(exc)) { exc.setResponse(Response.badRequest().build()); - return Outcome.RETURN; + return RETURN; } if (exc.getRequestURI().equals("/Tables")) { @@ -75,12 +77,12 @@ public Outcome handleRequestInternal(Exchange exc) throws IOException { case "PUT" -> insertOrReplaceTableStorageEntity(exc); case "GET" -> getEntityFromTableStorage(exc); case "DELETE" -> deleteEntityFromTableStorage(exc); - default -> Outcome.RETURN; + default -> RETURN; }; } exc.setResponse(Response.notFound().build()); - return Outcome.RETURN; + return RETURN; } }); @@ -94,11 +96,7 @@ private boolean missingHeaders(Exchange exc) { .contains(headerField.getHeaderName()) ); - if (!hasNeededHeaders) { - return false; - } - - return true; + return hasNeededHeaders; } private Outcome deleteEntityFromTableStorage(Exchange exc) { @@ -106,7 +104,7 @@ private Outcome deleteEntityFromTableStorage(Exchange exc) { if (uriPayload == null) { exc.setResponse(Response.badRequest().build()); - return Outcome.RETURN; + return RETURN; } var tableName = uriPayload.get("tableName"); @@ -119,7 +117,7 @@ private Outcome deleteEntityFromTableStorage(Exchange exc) { ); exc.setResponse(Response.statusCode(204).build()); - return Outcome.RETURN; + return RETURN; } private Outcome insertOrReplaceTableStorageEntity(Exchange exc) throws JsonProcessingException { @@ -130,14 +128,14 @@ private Outcome insertOrReplaceTableStorageEntity(Exchange exc) throws JsonProce if (data == null) { exc.setResponse(Response.badRequest().build()); - return Outcome.RETURN; + return RETURN; } var uriPayload = extractValuesFromUri(exc.getRequestURI()); if (uriPayload == null) { exc.setResponse(Response.badRequest().build()); - return Outcome.RETURN; + return RETURN; } var tableName = uriPayload.get("tableName"); @@ -146,7 +144,7 @@ private Outcome insertOrReplaceTableStorageEntity(Exchange exc) throws JsonProce if (!tableStorage.containsKey(tableName)) { exc.setResponse(Response.notFound().build()); - return Outcome.RETURN; + return RETURN; } var table = tableStorage.get(tableName); @@ -163,7 +161,7 @@ private Outcome insertOrReplaceTableStorageEntity(Exchange exc) throws JsonProce } exc.setResponse(Response.statusCode(204).build()); - return Outcome.RETURN; + return RETURN; } private Outcome getEntityFromTableStorage(Exchange exc) throws JsonProcessingException { @@ -171,7 +169,7 @@ private Outcome getEntityFromTableStorage(Exchange exc) throws JsonProcessingExc if (uriPayload == null) { exc.setResponse(Response.badRequest().build()); - return Outcome.RETURN; + return RETURN; } var tableName = uriPayload.get("tableName"); @@ -185,13 +183,13 @@ private Outcome getEntityFromTableStorage(Exchange exc) throws JsonProcessingExc exc.setResponse(Response.statusCode(400) .body(new ObjectMapper().writeValueAsString(Map.of("odata.error", "foo"))) .build()); - return Outcome.RETURN; + return RETURN; } exc.setResponse(Response.statusCode(200) .body(new ObjectMapper().writeValueAsString(row.get())) .build()); - return Outcome.RETURN; + return RETURN; } private Map extractValuesFromUri(String uri) { @@ -217,7 +215,7 @@ private Outcome createTableStorageTable(Exchange exc) throws JsonProcessingExcep if (tableName == null || tableName.isBlank() || tableName.isEmpty()) { exc.setResponse(Response.badRequest().build()); - return Outcome.RETURN; + return RETURN; } if (tableStorage.containsKey(tableName)) { @@ -227,7 +225,7 @@ private Outcome createTableStorageTable(Exchange exc) throws JsonProcessingExcep exc.setResponse(Response.statusCode(201).build()); } - return Outcome.RETURN; + return RETURN; } public void stop() { diff --git a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java index 1a53366b90..ad50c8d2a9 100644 --- a/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java +++ b/core/src/test/java/com/predic8/membrane/core/transport/ssl/acme/AcmeServerSimulator.java @@ -147,7 +147,7 @@ public Outcome handleRequestInternal(Exchange exc) throws Exception { return RETURN; } - assertNotNull("RFC 8555 Section 6.2", jws.getKeyIdHeaderValue()); + assertNotNull(jws.getKeyIdHeaderValue(),"RFC 8555 Section 6.2"); if ("/acme/new-order".equals(exc.getRequest().getUri())) { // here we spuriously return 'badNonce' to check whether the client correctly retries with the // nonce returned on the response