├── .github └── workflows │ └── ci.yml ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── user_guide.md └── zanshang.jpg ├── examples └── conf.example ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── roadmap.md └── src ├── main ├── groovy │ └── top │ │ └── dteam │ │ └── dgate │ │ ├── config │ │ ├── ApiGatewayConfig.groovy │ │ ├── ApiGatewayRepository.groovy │ │ ├── Consumer.groovy │ │ ├── CorsConfig.groovy │ │ ├── EventBusBridgeConfig.groovy │ │ ├── InvalidConfiguriationException.groovy │ │ ├── LoginConfig.groovy │ │ ├── MockUrlConfig.groovy │ │ ├── ProxyUrlConfig.groovy │ │ ├── Publisher.groovy │ │ ├── RelayTo.groovy │ │ ├── RelayUrlConfig.groovy │ │ ├── UpstreamURL.groovy │ │ └── UrlConfig.groovy │ │ ├── gateway │ │ └── SimpleResponse.groovy │ │ └── handler │ │ └── MockHandler.groovy ├── java │ └── top │ │ └── dteam │ │ └── dgate │ │ ├── Launcher.java │ │ ├── MainVerticle.java │ │ ├── gateway │ │ ├── ApiGateway.java │ │ └── RouterBuilder.java │ │ ├── handler │ │ ├── GatewayRequestHandler.java │ │ ├── JWTTokenRefreshHandler.java │ │ ├── JWTTokenSniffer.java │ │ ├── LoginHandler.java │ │ ├── ProxyHandler.java │ │ ├── RelayHandler.java │ │ └── RequestHandler.java │ │ ├── monitor │ │ └── CircuitBreakerMonitor.java │ │ └── utils │ │ ├── JWTTokenGenerator.java │ │ ├── JWTTokenRefresher.java │ │ ├── RequestUtils.java │ │ ├── Utils.java │ │ └── cache │ │ ├── CacheLocator.java │ │ └── ResponseHolder.java └── resources │ └── logback.groovy └── test ├── groovy └── top │ └── dteam │ └── dgate │ ├── ApiGatewayIntegationSpec.groovy │ ├── config │ ├── ApiGatewayRepositorySpec.groovy │ ├── ConfPropertySpec.groovy │ ├── LoginConfigSpec.groovy │ └── UpstreamURLSpec.groovy │ ├── gateway │ └── ApiGatewaySpec.groovy │ ├── handler │ ├── CircuitBreakerSpec.groovy │ ├── CompositeRequestSpec.groovy │ ├── ForwardRequestSpec.groovy │ ├── JWTHandlerSpec.groovy │ ├── MockHandlerSpec.groovy │ ├── ProxyHandlerWithCacheSpec.groovy │ ├── RelayHandlerSpec.groovy │ ├── RelayHandlerWithCacheSpec.groovy │ ├── RequestHandlerSpec.groovy │ └── RequestHeadersSpec.groovy │ └── utils │ ├── RequestUtilsSpec.groovy │ └── TestUtils.groovy └── resources ├── config ├── conf1.conf ├── conf2 └── conf3.conf ├── dgate.jceks ├── fileForUpload1 └── fileForUpload2 /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/README.md -------------------------------------------------------------------------------- /docs/user_guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/docs/user_guide.md -------------------------------------------------------------------------------- /docs/zanshang.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/docs/zanshang.jpg -------------------------------------------------------------------------------- /examples/conf.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/examples/conf.example -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/gradlew.bat -------------------------------------------------------------------------------- /roadmap.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/roadmap.md -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/ApiGatewayConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/ApiGatewayConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/ApiGatewayRepository.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/ApiGatewayRepository.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/Consumer.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/Consumer.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/CorsConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/CorsConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/EventBusBridgeConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/EventBusBridgeConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/InvalidConfiguriationException.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/InvalidConfiguriationException.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/LoginConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/LoginConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/MockUrlConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/MockUrlConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/ProxyUrlConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/ProxyUrlConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/Publisher.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/Publisher.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/RelayTo.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/RelayTo.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/RelayUrlConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/RelayUrlConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/UpstreamURL.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/UpstreamURL.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/config/UrlConfig.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/config/UrlConfig.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/gateway/SimpleResponse.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/gateway/SimpleResponse.groovy -------------------------------------------------------------------------------- /src/main/groovy/top/dteam/dgate/handler/MockHandler.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/groovy/top/dteam/dgate/handler/MockHandler.groovy -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/Launcher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/Launcher.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/MainVerticle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/MainVerticle.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/gateway/ApiGateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/gateway/ApiGateway.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/gateway/RouterBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/gateway/RouterBuilder.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/GatewayRequestHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/GatewayRequestHandler.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/JWTTokenRefreshHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/JWTTokenRefreshHandler.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/JWTTokenSniffer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/JWTTokenSniffer.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/LoginHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/LoginHandler.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/ProxyHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/ProxyHandler.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/RelayHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/RelayHandler.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/handler/RequestHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/handler/RequestHandler.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/monitor/CircuitBreakerMonitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/monitor/CircuitBreakerMonitor.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/utils/JWTTokenGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/utils/JWTTokenGenerator.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/utils/JWTTokenRefresher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/utils/JWTTokenRefresher.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/utils/RequestUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/utils/RequestUtils.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/utils/Utils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/utils/Utils.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/utils/cache/CacheLocator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/utils/cache/CacheLocator.java -------------------------------------------------------------------------------- /src/main/java/top/dteam/dgate/utils/cache/ResponseHolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/java/top/dteam/dgate/utils/cache/ResponseHolder.java -------------------------------------------------------------------------------- /src/main/resources/logback.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/main/resources/logback.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/ApiGatewayIntegationSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/ApiGatewayIntegationSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/config/ApiGatewayRepositorySpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/config/ApiGatewayRepositorySpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/config/ConfPropertySpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/config/ConfPropertySpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/config/LoginConfigSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/config/LoginConfigSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/config/UpstreamURLSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/config/UpstreamURLSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/gateway/ApiGatewaySpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/gateway/ApiGatewaySpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/CircuitBreakerSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/CircuitBreakerSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/CompositeRequestSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/CompositeRequestSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/ForwardRequestSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/ForwardRequestSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/JWTHandlerSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/JWTHandlerSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/MockHandlerSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/MockHandlerSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/ProxyHandlerWithCacheSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/ProxyHandlerWithCacheSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/RelayHandlerSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/RelayHandlerSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/RelayHandlerWithCacheSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/RelayHandlerWithCacheSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/RequestHandlerSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/RequestHandlerSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/handler/RequestHeadersSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/handler/RequestHeadersSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/utils/RequestUtilsSpec.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/utils/RequestUtilsSpec.groovy -------------------------------------------------------------------------------- /src/test/groovy/top/dteam/dgate/utils/TestUtils.groovy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/groovy/top/dteam/dgate/utils/TestUtils.groovy -------------------------------------------------------------------------------- /src/test/resources/config/conf1.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/resources/config/conf1.conf -------------------------------------------------------------------------------- /src/test/resources/config/conf2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/resources/config/conf2 -------------------------------------------------------------------------------- /src/test/resources/config/conf3.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/resources/config/conf3.conf -------------------------------------------------------------------------------- /src/test/resources/dgate.jceks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/resources/dgate.jceks -------------------------------------------------------------------------------- /src/test/resources/fileForUpload1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/resources/fileForUpload1 -------------------------------------------------------------------------------- /src/test/resources/fileForUpload2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTeam-Top/dgate/HEAD/src/test/resources/fileForUpload2 --------------------------------------------------------------------------------