This is an automated email from the ASF dual-hosted git repository. liujun pushed a change to branch 3.3.0 in repository https://gitbox.apache.org/repos/asf/dubbo-spi-extensions.git
from 1cae52a Merge pull request #292 from songxiaosheng/merge/3.2.0-release add e9dd13c Bump org.apache.avro:avro in /dubbo-extensions-dependencies-bom (#252) add 7349a32 Merge branch '3.2.0' into master add efd18a6 Update NOTICE to 2024 add 34a9824 [ISSUE dubbo#11900] part1 init dubbo-wasm-rpc-api module (#279) add e94ec3f [ISSUE dubbo#11900] part2 init dubbo-wasm-cluster-api module (#283) add f4e41b4 [ISSUE dubbo#11900] part3 support Protocol/Exporter/Invoker SPI (#284) add db631fc [ISSUE dubbo#11900] part4 init dubbo-wasm-registry-api module (#285) add beed188 [ISSUE dubbo#11900] part5 init dubbo-wasm-common-api module add e6402b6 Merge pull request #286 from loongs-zhang/dev-wasm-part5 add ec24691 Merge issues to main repo add ceff747 Import bytebuddy implementation from Dubbo 3.2 (#294) add 28506a1 into master from 3.2.0-release (#297) add b1360ac [ISSUE dubbo#11900] part6 init dubbo-wasm-remoting-api module (#295) add 9b48975 add auddo-wasm/README_zh.md (#298) add a7aeaf1 build: Add GitHub Actions workflow (#300) add 0268b6b add configcenter README (#299) add 1b23d14 :memo: readme update (#304) add 1e9e839 Move Mesh Rule Router to SPI Extensions #13957 (#307) add b3033de fix: dubbo-registry-dns resource leak (#308) add f38363f fix test lib (#310) add cbad15d fix: redis connection do not close and return to connection pool (#311) add 7674dee The Task Of [Feature] Move Rest Protocol to SPI Extensions #13958 (#306) add 92a9754 build: CI support unit test on Windows platform && Add Dependabot config (#309) add a98b86a Bump org.apache.commons:commons-lang3 from 3.8.1 to 3.14.0 (#330) add 45548ad Bump to 3.2.1-SNAPSHOT (#333) add 78f87c3 fix: try to fix etcd unit test failed sometimes (#312) add 048d7b0 Bump org.testcontainers:testcontainers from 1.15.2 to 1.19.8 (#337) add 339aa0c Bump org.springframework.cloud:spring-cloud-dependencies (#335) add d0a8a77 Bump protostuff_version from 1.5.9 to 1.8.0 (#332) add 98b6fe7 Bump org.apache.maven.plugins:maven-assembly-plugin from 3.1.0 to 3.7.1 (#331) add 7391e18 Bump protobuf-java_version from 3.16.3 to 3.25.3 (#329) add fc9d2dc Bump sofa_registry_version from 5.2.0 to 5.4.3 (#328) add 5331fe0 Bump rocketmq.version from 4.9.2 to 4.9.8 (#326) add 5dd932d Bump spring-boot.version from 2.4.1 to 2.7.18 (#327) add a836211 Bump com.google.code.gson:gson from 2.8.9 to 2.10.1 (#324) add d6af16f Bump fabric8_kubernetes_version from 6.9.2 to 6.12.0 (#321) add d03baa0 Bump org.apache.httpcomponents:fluent-hc from 4.5.5 to 4.5.14 (#320) add 5742959 Bump io.netty.incubator:netty-incubator-codec-quic (#319) add 3057057 Bump org.apache.maven.plugins:maven-clean-plugin from 3.1.0 to 3.3.2 (#323) add 677aff7 Bump org.codehaus.mojo:license-maven-plugin from 2.0.0 to 2.4.0 (#317) add 2ea3c6a Bump redis.clients:jedis from 3.7.0 to 3.10.0 (#313) add 0b89bf0 Bump org.apache.dubbo:dubbo from 2.7.18 to 2.7.23 (#315) add a31cad4 Bump grpc.version from 1.53.0 to 1.63.0 (#316) new a43681d Merge branch 'master' into 3.3.0 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .codecov.yml | 15 + .github/ISSUE_TEMPLATE/config.yml | 22 + ...ubbo-spi-extensions-feature-request-template.md | 26 - .../dubbo-spi-extensions-issue-report-template.md | 39 - .github/dependabot.yaml | 15 + .github/workflows/build-and-test-pr.yml | 340 +++++++++ .github/workflows/build-and-test-scheduled-3.1.yml | 346 +++++++++ .github/workflows/build-and-test-scheduled-3.2.yml | 346 +++++++++ .../workflows/build-and-test-scheduled-main.yml | 331 +++++++++ .github/workflows/ci.yml | 68 -- .github/workflows/conformance.yml | 84 ++- .github/workflows/release-test.yml | 346 +++++++++ .gitignore | 3 + .licenserc.yaml | 213 ++++++ README.md | 13 + README_CN.md | 117 +++ dobbo-doc-auto-gen/pom.xml | 2 +- .../main/java/org/apache/dubbo/doc/DocAutoGen.java | 4 +- .../doc/{DocAutoGen.java => DocAutoGenCN.java} | 50 +- dubbo-api-docs/dubbo-api-docs-annotations/pom.xml | 2 +- dubbo-api-docs/dubbo-api-docs-core/pom.xml | 2 +- .../dubbo-api-docs-examples/examples-api/pom.xml | 2 +- .../examples-provider-sca/pom.xml | 2 +- .../examples-provider/pom.xml | 2 +- dubbo-api-docs/dubbo-api-docs-examples/pom.xml | 2 +- dubbo-api-docs/pom.xml | 5 +- .../dubbo-cluster-broadcast-1/pom.xml | 2 +- .../dubbo-cluster-loadbalance-peakewma/pom.xml | 2 +- .../cluster/loadbalance/LoadBalanceBaseTest.java | 2 +- .../loadbalance/PeakEwmaLoadBalanceTest.java | 2 +- .../dubbo-cluster-polaris-dubbo2/pom.xml | 2 +- .../dubbo-cluster-router-mesh}/pom.xml | 28 +- .../router/mesh/route/MeshAppRuleListener.java | 162 +++++ .../cluster/router/mesh/route/MeshEnvListener.java | 24 +- .../router/mesh/route/MeshEnvListenerFactory.java | 16 +- .../cluster/router/mesh/route/MeshRuleCache.java | 186 +++++ .../router/mesh/route/MeshRuleConstants.java | 25 +- .../cluster/router/mesh/route/MeshRuleManager.java | 127 ++++ .../cluster/router/mesh/route/MeshRuleRouter.java | 391 ++++++++++ .../router/mesh/route/StandardMeshRuleRouter.java | 21 +- .../mesh/route/StandardMeshRuleRouterFactory.java | 20 +- .../rpc/cluster/router/mesh/rule/BaseRule.java | 57 ++ .../router/mesh/rule/VsDestinationGroup.java | 57 ++ .../rule/desination/ConnectionPoolSettings.java | 15 +- .../mesh/rule/desination/DestinationRule.java | 24 +- .../mesh/rule/desination/DestinationRuleSpec.java | 57 ++ .../router/mesh/rule/desination/Subset.java | 33 +- .../router/mesh/rule/desination/TCPSettings.java | 17 +- .../router/mesh/rule/desination/TcpKeepalive.java | 17 +- .../router/mesh/rule/desination/TrafficPolicy.java | 24 +- .../desination/loadbanlance/ConsistentHashLB.java | 15 +- .../loadbanlance/LoadBalancerSettings.java | 31 +- .../rule/desination/loadbanlance/SimpleLB.java | 18 +- .../rule/virtualservice/DubboMatchRequest.java | 113 +++ .../mesh/rule/virtualservice/DubboRoute.java | 56 ++ .../mesh/rule/virtualservice/DubboRouteDetail.java | 56 ++ .../rule/virtualservice/VirtualServiceRule.java | 24 +- .../rule/virtualservice/VirtualServiceSpec.java | 33 +- .../destination/DubboDestination.java | 44 +- .../destination/DubboRouteDestination.java | 26 +- .../rule/virtualservice/match/AddressMatch.java | 87 +++ .../mesh/rule/virtualservice/match/BoolMatch.java | 24 +- .../rule/virtualservice/match/DoubleMatch.java | 60 ++ .../virtualservice/match/DoubleRangeMatch.java | 38 +- .../virtualservice/match/DubboAttachmentMatch.java | 73 ++ .../rule/virtualservice/match/DubboMethodArg.java | 87 +++ .../virtualservice/match/DubboMethodMatch.java | 133 ++++ .../rule/virtualservice/match/ListBoolMatch.java | 29 +- .../rule/virtualservice/match/ListDoubleMatch.java | 29 +- .../rule/virtualservice/match/ListStringMatch.java | 29 +- .../rule/virtualservice/match/StringMatch.java | 105 +++ .../router/mesh/util/MeshRuleDispatcher.java | 111 +++ .../cluster/router/mesh/util/MeshRuleListener.java | 18 +- .../router/mesh/util/TracingContextProvider.java | 27 +- .../router/mesh/route/MeshAppRuleListenerTest.java | 392 ++++++++++ .../router/mesh/route/MeshRuleCacheTest.java | 109 +++ .../router/mesh/route/MeshRuleManagerTest.java | 273 +++++++ .../router/mesh/route/MeshRuleRouterTest.java | 455 ++++++++++++ .../route/StandardMeshRuleRouterFactoryTest.java | 14 +- .../router/mesh/rule/DestinationRuleTest.java | 114 +++ .../router/mesh/rule/VirtualServiceRuleTest.java | 94 +++ .../rule/virtualservice/DubboMatchRequestTest.java | 135 ++++ .../rule/virtualservice/match/BoolMatchTest.java | 22 +- .../rule/virtualservice/match/DoubleMatchTest.java | 95 +++ .../match/DubboAttachmentMatchTest.java | 198 +++++ .../virtualservice/match/DubboMethodMatchTest.java | 159 ++++ .../virtualservice/match/ListBoolMatchTest.java | 49 ++ .../virtualservice/match/ListDoubleMatchTest.java | 49 ++ .../virtualservice/match/ListStringMatchTest.java | 50 ++ .../rule/virtualservice/match/StringMatchTest.java | 76 ++ .../router/mesh/util/MeshRuleDispatcherTest.java | 202 ++++++ .../src/test/resources/DestinationRuleTest.yaml | 33 + .../src/test/resources/DestinationRuleTest2.yaml | 58 ++ .../src/test/resources/VirtualServiceTest.yaml | 41 ++ .../dubbo-cluster-specify-address-common/pom.xml | 2 +- .../dubbo-cluster-specify-address-dubbo2/pom.xml | 2 +- .../dubbo-cluster-specify-address-dubbo3/pom.xml | 2 +- dubbo-cluster-extensions/pom.xml | 1 + dubbo-common-extensions/README.md | 22 + dubbo-common-extensions/README_ch.md | 24 + dubbo-common-extensions/pom.xml | 2 +- dubbo-configcenter-extensions/README.md | 238 ++++++ dubbo-configcenter-extensions/README_ch.md | 237 ++++++ .../dubbo-configcenter-consul/pom.xml | 2 +- .../dubbo-configcenter-etcd/pom.xml | 9 +- .../support/etcd/EtcdDynamicConfiguration.java | 8 +- .../support/etcd/EtcdDynamicConfigurationTest.java | 26 +- dubbo-cross-thread-extensions/README.md | 1 + .../{README.md => README_ch.md} | 33 +- dubbo-cross-thread-extensions/pom.xml | 2 +- dubbo-extensions-dependencies-bom/pom.xml | 96 ++- .../dubbo-apache-release/pom.xml | 2 +- .../pom.xml | 3 +- .../dubbo-filter-polaris-ratelimit-dubbo2/pom.xml | 3 +- .../dubbo-filter-polaris-dubbo2/pom.xml | 4 +- dubbo-filter-extensions/dubbo-filter-seata/pom.xml | 2 +- .../dubbo-metadata-report-consul/pom.xml | 4 +- .../dubbo-metadata-report-etcd/pom.xml | 9 +- .../store/etcd/EtcdMetadataReportTest.java | 12 +- .../pom.xml | 122 ++-- .../AbstractAnnotatedMethodParameterProcessor.java | 64 ++ .../AbstractServiceRestMetadataResolver.java | 317 ++++++++ .../AnnotatedMethodParameterProcessor.java | 67 ++ .../DefaultServiceRestMetadataResolver.java | 205 ++++++ .../ServiceRestMetadataAnnotationProcessor.java | 87 +++ .../processing/ServiceRestMetadataResolver.java | 56 ++ .../processing/ServiceRestMetadataStorage.java | 66 ++ .../jaxrs/DefaultValueParameterProcessor.java | 81 +++ .../jaxrs/FormParamParameterProcessor.java | 22 +- .../jaxrs/HeaderParamParameterProcessor.java | 56 ++ .../jaxrs/JAXRSServiceRestMetadataResolver.java | 120 +++ .../jaxrs/MatrixParamParameterProcessor.java | 22 +- .../jaxrs/ParamAnnotationParameterProcessor.java | 44 ++ .../jaxrs/QueryParamParameterProcessor.java | 22 +- ...bstractRequestAnnotationParameterProcessor.java | 72 ++ .../springmvc/RequestHeaderParameterProcessor.java | 49 ++ .../springmvc/RequestParamParameterProcessor.java | 49 ++ .../SpringMvcServiceRestMetadataResolver.java | 176 +++++ .../AbstractAnnotatedMethodParameterProcessor.java | 84 +++ .../api/AbstractNoAnnotatedParameterProcessor.java | 78 ++ .../api/AbstractServiceRestMetadataResolver.java | 488 +++++++++++++ .../api/AnnotatedMethodParameterProcessor.java | 80 ++ .../dubbo/metadata/extension/rest/api/ArgInfo.java | 175 +++++ .../api/ClassPathServiceRestMetadataReader.java | 70 ++ .../api/DefaultServiceRestMetadataResolver.java | 61 ++ .../extension/rest/api/JAXRSClassConstants.java | 62 ++ .../NoAnnotatedParameterRequestTagProcessor.java | 22 +- .../metadata/extension/rest/api/ParamType.java | 90 +++ .../metadata/extension/rest/api/PathMatcher.java | 284 ++++++++ .../metadata/extension/rest/api/PathUtil.java | 147 ++++ .../extension/rest/api/RequestMetadata.java | 240 ++++++ .../extension/rest/api/RestMetadataConstants.java | 172 +++++ .../extension/rest/api/RestMethodMetadata.java | 245 +++++++ .../extension/rest/api/ServiceRestMetadata.java | 250 +++++++ .../rest/api/ServiceRestMetadataReader.java | 28 +- .../rest/api/ServiceRestMetadataResolver.java | 51 ++ .../rest/api/SpringMvcClassConstants.java | 47 ++ .../rest/api/jaxrs/BodyParameterProcessor.java | 56 ++ .../api/jaxrs/DefaultValueParameterProcessor.java | 82 +++ .../rest/api/jaxrs/FormBodyParameterProcessor.java | 60 ++ .../api/jaxrs/FormParamParameterProcessor.java | 22 +- .../api/jaxrs/HeaderParamParameterProcessor.java | 56 ++ .../jaxrs/JAXRSServiceRestMetadataResolver.java | 118 +++ .../api/jaxrs/MatrixParamParameterProcessor.java | 22 +- .../jaxrs/ParamAnnotationParameterProcessor.java | 45 ++ .../api/jaxrs/PathParamParameterProcessor.java | 23 +- .../api/jaxrs/QueryParamParameterProcessor.java | 22 +- .../extension/rest/api/media/MediaType.java | 53 ++ ...bstractRequestAnnotationParameterProcessor.java | 71 ++ .../springmvc/FormBodyNoAnnotatedProcessor.java | 30 +- .../springmvc/JsonBodyNoAnnotatedProcessor.java | 22 +- .../api/springmvc/ParamNoAnnotatedProcessor.java | 42 ++ .../springmvc/PathVariableParameterProcessor.java | 43 ++ .../springmvc/RequestBodyParameterProcessor.java | 46 ++ .../springmvc/RequestHeaderParameterProcessor.java | 48 ++ .../springmvc/RequestParamParameterProcessor.java | 49 ++ .../SpringMvcServiceRestMetadataResolver.java | 170 +++++ .../metadata/extension/rest/api/tag/BodyTag.java | 18 +- .../metadata/extension/rest/api/tag/ParamTag.java | 18 +- ...on.processing.AnnotatedMethodParameterProcessor | 10 + ...notation.processing.ServiceRestMetadataResolver | 3 + ...sion.rest.api.AnnotatedMethodParameterProcessor | 15 + ...est.api.NoAnnotatedParameterRequestTagProcessor | 3 + ....extension.rest.api.ServiceRestMetadataResolver | 3 + .../AnnotatedMethodParameterProcessorTest.java | 58 ++ .../annotation/processing/RestServiceTest.java | 24 +- .../processing/SpringRestServiceTest.java | 23 +- .../processing/StandardRestServiceTest.java | 23 +- .../common/AbstractAnnotationProcessingTest.java | 64 ++ .../common/AnnotationProcessingTestProcessor.java | 78 ++ .../annotation/processing/common/Compiler.java | 125 ++++ .../common/CompilerInvocationInterceptor.java | 47 ++ .../processing/rest/DefaultRestService.java | 69 ++ .../annotation/processing/rest/RestService.java | 31 +- .../processing/rest/SpringRestService.java | 96 +++ .../processing/rest/StandardRestService.java | 109 +++ .../rest/annotation/processing/rest/User.java | 50 +- .../extension/rest/api/DefaultRestService.java | 78 ++ .../rest/api/NoAnnotationApiDemoResolverTest.java | 64 ++ .../metadata/extension/rest/api/RestService.java | 37 +- .../extension/rest/api/SpringRestService.java | 108 +++ .../extension/rest/api/StandardRestService.java | 127 ++++ .../dubbo/metadata/extension/rest/api/User.java | 50 +- .../rest/api/api/AnotherUserRestService.java | 37 +- ...RestDoubleCheckContainsPathVariableService.java | 31 +- .../rest/api/api/JaxrsRestDoubleCheckService.java | 31 +- .../extension/rest/api/api/JaxrsRestService.java | 69 ++ .../rest/api/api/JaxrsRestServiceImpl.java | 42 +- .../extension/rest/api/api/JaxrsUsingService.java | 38 +- .../rest/api/api/SpringControllerService.java | 104 +++ .../extension/rest/api/api/SpringRestService.java | 89 +++ .../rest/api/api/SpringRestServiceImpl.java | 65 ++ .../JAXRSServiceRestMetadataResolverTest.java | 145 ++++ .../rest/api/jaxrs/JaxrsRestDoubleCheckTest.java | 73 ++ .../SpringMvcServiceRestMetadataResolverTest.java | 159 ++++ ...che.dubbo.metadata.report.MetadataReportFactory | 1 + .../dubbo/jax-rs-service-rest-metadata.json | 324 +++++++++ .../META-INF/dubbo/service-name-mapping.properties | 3 + .../dubbo/spring-mvc-service-rest-metadata.json | 321 +++++++++ .../src/test/resources/dubbo.properties | 0 dubbo-metadata-report-extensions/pom.xml | 1 + dubbo-mock-extensions/dubbo-mock-admin/pom.xml | 4 +- dubbo-mock-extensions/dubbo-mock-api/pom.xml | 2 +- dubbo-mock-extensions/pom.xml | 2 +- .../dubbo-proxy-bytebuddy}/pom.xml | 28 +- .../rpc/proxy/bytebuddy/ByteBuddyInterceptor.java | 28 +- .../dubbo/rpc/proxy/bytebuddy/ByteBuddyProxy.java | 130 ++++ .../rpc/proxy/bytebuddy/ByteBuddyProxyFactory.java | 25 +- .../rpc/proxy/bytebuddy/ByteBuddyProxyInvoker.java | 56 ++ .../internal/org.apache.dubbo.rpc.ProxyFactory | 1 + .../apache/dubbo/rpc/proxy/AbstractProxyTest.java | 86 +++ .../org/apache/dubbo/rpc/proxy/RemoteService.java | 16 +- .../proxy/bytebuddy/ByteBuddyInterceptorTest.java | 45 ++ .../proxy/bytebuddy/ByteBuddyProxyFactoryTest.java | 14 +- .../proxy/bytebuddy/ByteBuddyProxyInvokerTest.java | 22 +- .../rpc/proxy/bytebuddy/ByteBuddyProxyTest.java | 43 ++ .../org/apache/dubbo/rpc/support/DemoService.java | 15 +- .../apache/dubbo/rpc/support/DemoServiceImpl.java | 18 +- .../org/apache/dubbo/rpc/support/MyInvoker.java | 89 +++ .../pom.xml | 7 +- .../dubbo-registry-consul/pom.xml | 2 +- .../dubbo-registry-dns/pom.xml | 2 +- .../dubbo/registry/dns/DNSServiceDiscovery.java | 11 +- .../dubbo/registry/dns/util/DNSResolver.java | 1 + .../registry/dns/{util => }/DNSResolverTest.java | 8 +- .../dubbo-registry-etcd3/pom.xml | 4 +- .../dubbo-registry-nameservice/pom.xml | 4 +- .../nameservice/NameServiceRegistryTest.java | 22 +- .../dubbo-registry-polaris/pom.xml | 2 +- .../dubbo-registry-redis/pom.xml | 4 +- .../dubbo-registry-sofa/pom.xml | 2 +- .../dubbo-remoting-etcd3/pom.xml | 8 +- .../dubbo/remoting/etcd/jetcd/LeaseTest.java | 20 +- .../dubbo-remoting-grizzly/pom.xml | 2 +- .../dubbo-remoting-http}/pom.xml | 74 +- .../apache/dubbo/remoting/http/BaseRestClient.java | 29 +- .../org/apache/dubbo/remoting/http/HttpBinder.java | 29 +- .../apache/dubbo/remoting/http/HttpHandler.java | 24 +- .../org/apache/dubbo/remoting/http/HttpServer.java | 71 ++ .../dubbo/remoting/http/RequestTemplate.java | 299 ++++++++ .../org/apache/dubbo/remoting/http/RestClient.java | 38 +- .../org/apache/dubbo/remoting/http/RestResult.java | 30 +- .../remoting/http/config/HttpClientConfig.java | 60 ++ .../http/factory/AbstractHttpClientFactory.java | 63 ++ .../remoting/http/factory/RestClientFactory.java | 25 +- .../http/factory/impl/ApacheHttpClientFactory.java | 23 +- .../http/factory/impl/OkHttpClientFactory.java | 23 +- .../factory/impl/URLConnectionClientFactory.java | 23 +- .../dubbo/remoting/http/jetty/JettyHttpBinder.java | 21 +- .../dubbo/remoting/http/jetty/JettyHttpServer.java | 112 +++ .../remoting/http/jetty/JettyLoggerAdapter.java | 160 ++++ .../http/restclient/HttpClientRestClient.java | 187 +++++ .../remoting/http/restclient/OKHttpRestClient.java | 149 ++++ .../http/restclient/URLConnectionRestClient.java | 169 +++++ .../remoting/http/servlet/BootstrapListener.java | 25 +- .../remoting/http/servlet/DispatcherServlet.java | 64 ++ .../remoting/http/servlet/ServletHttpBinder.java | 21 +- .../remoting/http/servlet/ServletHttpServer.java | 18 +- .../remoting/http/servlet/ServletManager.java | 49 ++ .../remoting/http/support/AbstractHttpServer.java | 124 ++++ .../remoting/http/tomcat/TomcatHttpBinder.java | 18 +- .../remoting/http/tomcat/TomcatHttpServer.java | 97 +++ .../org.apache.dubbo.remoting.http.HttpBinder | 3 + ...e.dubbo.remoting.http.factory.RestClientFactory | 4 + .../remoting/http/jetty/JettyHttpBinderTest.java | 55 ++ .../http/jetty/JettyLoggerAdapterTest.java | 123 ++++ .../dubbo/remoting/http/rest/RestClientTest.java | 242 +++++++ .../remoting/http/tomcat/TomcatHttpBinderTest.java | 58 ++ .../src/test/resources/log4j.xml | 41 ++ .../dubbo-remoting-mina/pom.xml | 2 +- .../transport/mina/MinaClientToServerTest.java | 4 + .../test/resources/security/serialize.allowlist | 19 + .../dubbo-remoting-p2p/pom.xml | 2 +- .../remoting/p2p/support/FileNetworkerTest.java | 11 +- .../dubbo-remoting-quic/pom.xml | 4 +- .../dubbo-remoting-redis/pom.xml | 2 +- .../remoting/redis/jedis/ClusterRedisClient.java | 5 +- .../remoting/redis/jedis/MonoRedisClient.java | 10 +- .../remoting/redis/jedis/SentinelRedisClient.java | 14 +- dubbo-remoting-extensions/pom.xml | 1 + dubbo-rpc-extensions/dubbo-rpc-hessian/pom.xml | 4 +- dubbo-rpc-extensions/dubbo-rpc-http/pom.xml | 2 +- dubbo-rpc-extensions/dubbo-rpc-memcached/pom.xml | 2 +- .../dubbo-rpc-native-thrift/pom.xml | 2 +- dubbo-rpc-extensions/dubbo-rpc-redis/pom.xml | 2 +- dubbo-rpc-extensions/dubbo-rpc-rest/pom.xml | 169 +++++ .../apache/dubbo/rpc/protocol/rest/Constants.java | 22 +- .../rpc/protocol/rest/NettyHttpRestServer.java | 192 +++++ .../rpc/protocol/rest/PathAndInvokerMapper.java | 184 +++++ .../rpc/protocol/rest/ReferenceCountedClient.java | 89 +++ .../rpc/protocol/rest/RestConstraintViolation.java | 65 ++ .../dubbo/rpc/protocol/rest/RestHeaderEnum.java | 29 +- .../dubbo/rpc/protocol/rest/RestInvoker.java | 155 ++++ .../dubbo/rpc/protocol/rest/RestProtocol.java | 231 ++++++ .../rpc/protocol/rest/RestProtocolServer.java | 21 +- .../rpc/protocol/rest/RestRPCInvocationUtil.java | 226 ++++++ .../dubbo/rpc/protocol/rest/RestServerFactory.java | 18 +- .../rpc/protocol/rest/RpcExceptionMapper.java | 44 ++ .../dubbo/rpc/protocol/rest/ViolationReport.java | 48 ++ .../protocol/rest/annotation/BaseParseContext.java | 37 +- .../rpc/protocol/rest/annotation/ParamParser.java | 14 +- .../rest/annotation/ParamParserManager.java | 92 +++ .../consumer/HttpConnectionCreateContext.java | 74 ++ .../consumer/HttpConnectionPreBuildIntercept.java | 20 +- .../inercept/AddMustAttachmentIntercept.java | 46 ++ .../consumer/inercept/AttachmentIntercept.java | 40 + .../consumer/inercept/ParamParseIntercept.java | 44 ++ .../consumer/inercept/PathVariableIntercept.java | 52 ++ .../consumer/inercept/RequestHeaderIntercept.java | 59 ++ .../consumer/inercept/SerializeBodyIntercept.java | 81 +++ .../rest/annotation/metadata/MetadataResolver.java | 76 ++ .../parse/consumer/BaseConsumerParamParser.java | 18 +- .../parse/consumer/BodyConsumerParamParser.java | 33 +- .../param/parse/consumer/ConsumerParseContext.java | 20 +- .../parse/consumer/FormConsumerParamParser.java | 77 ++ .../parse/consumer/HeaderConsumerParamParser.java | 57 ++ .../consumer/ParameterConsumerParamParser.java | 55 ++ .../parse/provider/BaseProviderParamParser.java | 18 +- .../parse/provider/BodyProviderParamParser.java | 56 ++ .../parse/provider/HeaderProviderParamParser.java | 62 ++ .../parse/provider/ParamProviderParamParser.java | 63 ++ .../parse/provider/PathProviderParamParser.java | 43 ++ .../param/parse/provider/ProviderParamParser.java | 48 ++ .../param/parse/provider/ProviderParseContext.java | 63 ++ .../rpc/protocol/rest/constans/RestConstant.java | 72 ++ .../rpc/protocol/rest/deploy/ServiceDeployer.java | 151 ++++ .../exception/CodeStyleNotSupportException.java | 17 +- .../rest/exception/DoublePathCheckException.java | 17 +- .../exception/MediaTypeUnSupportException.java | 15 +- .../rest/exception/ParamParseException.java | 14 +- .../rest/exception/PathNoFoundException.java | 17 +- .../exception/RemoteServerInternalException.java | 17 +- .../rpc/protocol/rest/exception/RestException.java | 17 +- .../exception/UnSupportContentTypeException.java | 17 +- .../rest/exception/mapper/ExceptionHandler.java | 14 +- .../exception/mapper/ExceptionHandlerResult.java | 39 +- .../rest/exception/mapper/ExceptionMapper.java | 174 +++++ .../exception/mapper/RestEasyExceptionMapper.java | 60 ++ .../rest/extension/resteasy/ResteasyContext.java | 201 ++++++ .../resteasy/filter/DubboBuiltResponse.java | 53 ++ .../filter/DubboContainerResponseContextImpl.java | 391 ++++++++++ .../DubboPreMatchContainerRequestContext.java | 309 ++++++++ .../resteasy/filter/ResteasyNettyHttpResponse.java | 107 +++ .../ResteasyRequestContainerFilterAdapter.java | 81 +++ .../ResteasyResponseContainerFilterAdapter.java | 81 +++ .../DubboServerWriterInterceptorContext.java | 75 ++ .../intercept/ResteasyStatusCodeInterceptor.java | 48 ++ .../ResteasyWriterInterceptorAdapter.java | 136 ++++ .../dubbo/rpc/protocol/rest/filter/RestFilter.java | 17 +- .../protocol/rest/filter/RestRequestFilter.java | 20 +- .../protocol/rest/filter/RestResponseFilter.java | 20 +- .../rest/filter/RestResponseInterceptor.java | 20 +- .../rest/filter/ServiceInvokeRestFilter.java | 255 +++++++ .../ServiceInvokeRestResponseInterceptor.java | 40 + .../rest/filter/context/FilterContext.java | 31 +- .../rest/filter/context/RestFilterContext.java | 91 +++ .../rest/filter/context/RestInterceptContext.java | 49 ++ .../protocol/rest/handler/NettyHttpHandler.java | 158 ++++ .../swagger/DubboSwaggerApiListingResource.java | 47 ++ .../integration/swagger/DubboSwaggerService.java | 43 ++ .../protocol/rest/message/HttpMessageCodec.java | 48 ++ .../rest/message/HttpMessageCodecManager.java | 96 +++ .../protocol/rest/message/HttpMessageDecode.java | 14 +- .../protocol/rest/message/HttpMessageEncode.java | 14 +- .../protocol/rest/message/MediaTypeMatcher.java | 57 ++ .../rest/message/codec/ByteArrayCodec.java | 57 ++ .../rpc/protocol/rest/message/codec/JsonCodec.java | 72 ++ .../rest/message/codec/MultiValueCodec.java | 102 +++ .../rest/message/codec/ResteasyResponseCodec.java | 90 +++ .../protocol/rest/message/codec/StringCodec.java | 61 ++ .../rpc/protocol/rest/message/codec/TextCodec.java | 60 ++ .../rpc/protocol/rest/message/codec/XMLCodec.java | 80 ++ .../rpc/protocol/rest/netty/ChunkOutputStream.java | 86 +++ .../rpc/protocol/rest/netty/HttpResponse.java | 39 +- .../rpc/protocol/rest/netty/NettyHttpResponse.java | 233 ++++++ .../dubbo/rpc/protocol/rest/netty/NettyServer.java | 176 +++++ .../rest/netty/RestHttpRequestDecoder.java | 89 +++ .../rest/netty/UnSharedHandlerCreator.java | 20 +- .../rpc/protocol/rest/netty/ssl/SslContexts.java | 158 ++++ .../rest/netty/ssl/SslServerTlsHandler.java | 135 ++++ .../pair/InvokerAndRestMethodMetadataPair.java | 78 ++ .../protocol/rest/pair/MessageCodecResultPair.java | 40 +- .../protocol/rest/request/NettyRequestFacade.java | 253 +++++++ .../rpc/protocol/rest/request/RequestFacade.java | 158 ++++ .../protocol/rest/resteasy/ResteasyContext.java | 201 ++++++ .../rest/resteasy/filter/DubboBuiltResponse.java | 53 ++ .../filter/DubboContainerResponseContextImpl.java | 391 ++++++++++ .../DubboPreMatchContainerRequestContext.java | 309 ++++++++ .../resteasy/filter/ResteasyNettyHttpResponse.java | 107 +++ .../ResteasyRequestContainerFilterAdapter.java | 82 +++ .../ResteasyResponseContainerFilterAdapter.java | 84 +++ .../DubboServerWriterInterceptorContext.java | 75 ++ .../intercept/ResteasyStatusCodeInterceptor.java | 48 ++ .../ResteasyWriterInterceptorAdapter.java | 137 ++++ .../rpc/protocol/rest/support/ContentType.java | 17 +- .../swagger/DubboSwaggerApiListingResource.java | 48 ++ .../protocol/rest/swagger/DubboSwaggerService.java | 43 ++ .../util/ConstraintViolationExceptionConvert.java | 51 ++ .../rpc/protocol/rest/util/DataParseUtils.java | 249 +++++++ .../rpc/protocol/rest/util/HttpHeaderUtil.java | 208 ++++++ .../rpc/protocol/rest/util/MediaTypeUtil.java | 57 ++ .../rpc/protocol/rest/util/MultiValueCreator.java | 102 +++ .../dubbo/rpc/protocol/rest/util/NumberUtils.java | 123 ++++ .../dubbo/rpc/protocol/rest/util/ReflectUtils.java | 165 +++++ .../dubbo/internal/org.apache.dubbo.rpc.Protocol | 1 + ...tation.consumer.HttpConnectionPreBuildIntercept | 6 + ...on.param.parse.consumer.BaseConsumerParamParser | 5 + ...on.param.parse.provider.BaseProviderParamParser | 4 + ...ubbo.rpc.protocol.rest.filter.RestRequestFilter | 2 + ...bbo.rpc.protocol.rest.filter.RestResponseFilter | 1 + ...pc.protocol.rest.filter.RestResponseInterceptor | 3 + ...ubbo.rpc.protocol.rest.message.HttpMessageCodec | 7 + .../rpc/protocol/rest/DataParseUtilsTest.java | 69 ++ .../dubbo/rpc/protocol/rest/DemoService.java | 155 ++++ .../dubbo/rpc/protocol/rest/DemoServiceImpl.java | 185 +++++ .../rpc/protocol/rest/ExceptionMapperTest.java | 61 ++ .../protocol/rest/HttpMessageCodecManagerTest.java | 60 ++ .../rpc/protocol/rest/JaxrsRestProtocolTest.java | 801 +++++++++++++++++++++ .../dubbo/rpc/protocol/rest/MediaTypeUtilTest.java | 54 ++ .../rpc/protocol/rest/NettyRequestFacadeTest.java | 132 ++++ .../dubbo/rpc/protocol/rest/NumberUtilsTest.java | 167 +++++ .../rpc/protocol/rest/ResteasyResponseTest.java | 95 +++ .../rpc/protocol/rest/RpcExceptionMapperTest.java | 100 +++ .../dubbo/rpc/protocol/rest/ServiceConfigTest.java | 88 +++ .../protocol/rest/SpringMvcRestProtocolTest.java | 439 +++++++++++ .../org/apache/dubbo/rpc/protocol/rest/User.java | 84 +++ .../rest/exception/ResteasyExceptionMapper.java | 17 +- .../rest/filter/TestContainerRequestFilter.java | 21 +- .../rpc/protocol/rest/filter/TraceFilter.java | 43 ++ .../rest/filter/TraceRequestAndResponseFilter.java | 44 ++ .../rest/intercept/DynamicTraceInterceptor.java | 48 ++ .../protocol/rest/mvc/SpringControllerService.java | 17 +- .../protocol/rest/mvc/SpringDemoServiceImpl.java | 95 +++ .../protocol/rest/mvc/SpringRestDemoService.java | 72 ++ .../protocol/rest/rest/AnotherUserRestService.java | 64 ++ .../rest/rest/AnotherUserRestServiceImpl.java | 47 +- .../rpc/protocol/rest/rest/HttpMethodService.java | 67 ++ .../protocol/rest/rest/HttpMethodServiceImpl.java | 43 +- .../rpc/protocol/rest/rest/RegistrationResult.java | 44 +- .../rest/rest/RestDemoForTestException.java | 34 +- .../rpc/protocol/rest/rest/RestDemoService.java | 65 ++ .../protocol/rest/rest/RestDemoServiceImpl.java | 78 ++ .../protocol/rest/rest/TestGetInvokerService.java | 18 +- .../rest/rest/TestGetInvokerServiceImpl.java | 56 ++ .../DubboSwaggerApiListingResourceTest.java | 62 ++ .../rpc/protocol/rest/swagger/SwaggerService.java | 23 +- dubbo-rpc-extensions/dubbo-rpc-rmi/pom.xml | 2 +- dubbo-rpc-extensions/dubbo-rpc-rocketmq/pom.xml | 4 +- dubbo-rpc-extensions/dubbo-rpc-webservice/pom.xml | 2 +- dubbo-rpc-extensions/pom.xml | 1 + .../dubbo-serialization-avro/pom.xml | 4 +- .../dubbo-serialization-common/pom.xml | 2 +- .../dubbo-serialization-fastjson/pom.xml | 4 +- .../fastjson/FastJsonSerializationTest.java | 8 +- .../dubbo-serialization-fst/pom.xml | 4 +- .../dubbo-serialization-fury/pom.xml | 2 +- .../dubbo-serialization-gson/pom.xml | 4 +- .../dubbo-serialization-jackson/pom.xml | 4 +- .../dubbo-serialization-kryo/pom.xml | 4 +- .../dubbo-serialization-msgpack/pom.xml | 2 +- .../dubbo-serialization-native-hession/pom.xml | 2 +- .../dubbo-serialization-protobuf/pom.xml | 4 +- .../dubbo-serialization-protostuff/pom.xml | 4 +- .../dubbo-serialization-test/pom.xml | 4 +- dubbo-tag-extensions/README.md | 2 +- dubbo-tag-extensions/README_zh.md | 2 +- dubbo-tag-extensions/dubbo-tag-subnets/pom.xml | 2 +- dubbo-wasm/README.md | 245 +++++++ dubbo-wasm/README_zh.md | 247 +++++++ .../dubbo-wasm-api}/pom.xml | 20 +- .../java/org/apache/dubbo/wasm/WasmLoader.java | 200 +++++ .../dubbo/wasm/exception/DubboWasmException.java | 54 ++ .../wasm/exception/DubboWasmInitException.java | 54 ++ .../dubbo-wasm-cluster-api}/pom.xml | 42 +- .../loadbalance/AbstractWasmLoadBalance.java | 97 +++ .../wasm/cluster/router/AbstractWasmRouter.java | 134 ++++ .../loadbalance/AbstractWasmLoadBalanceTest.java | 99 +++ .../cluster/router/AbstractWasmRouterTest.java | 75 ++ .../dubbo-wasm-common-api}/pom.xml | 42 +- .../AbstractWasmDynamicConfiguration.java | 306 ++++++++ .../AbstractWasmDynamicConfigurationTest.java | 143 ++++ .../dubbo-wasm-registry-api}/pom.xml | 40 +- .../client/AbstractWasmServiceDiscovery.java | 224 ++++++ .../registry/support/AbstractWasmRegistry.java | 162 +++++ .../client/AbstractWasmServiceDiscoveryTest.java | 140 ++++ .../registry/support/AbstractWasmRegistryTest.java | 107 +++ .../dubbo-wasm-remoting-api}/pom.xml | 42 +- .../remoting/transport/AbstractWasmChannel.java | 275 +++++++ .../transport/AbstractWasmChannelTest.java | 106 +++ .../dubbo-wasm-rpc-api}/pom.xml | 42 +- .../apache/dubbo/wasm/rpc/AbstractWasmFilter.java | 77 ++ .../wasm/rpc/protocol/AbstractWasmExporter.java | 56 ++ .../wasm/rpc/protocol/AbstractWasmInvoker.java | 106 +++ .../wasm/rpc/protocol/AbstractWasmProtocol.java | 121 ++++ .../dubbo/wasm/rpc/AbstractWasmFilterTest.java | 72 ++ .../rpc/protocol/AbstractWasmExporterTest.java | 90 +++ .../wasm/rpc/protocol/AbstractWasmInvokerTest.java | 79 ++ .../rpc/protocol/AbstractWasmProtocolTest.java | 140 ++++ .../dubbo-wasm-test}/pom.xml | 18 +- .../org/apache/dubbo/wasm/test/TestHelper.java | 72 ++ .../src/main/resources/rust_extensions.wasm | Bin 0 -> 1687720 bytes .../src/main/rust-extensions/Cargo.toml | 26 + .../src/main/rust-extensions/README.md | 17 + .../src/main/rust-extensions/src/lib.rs | 319 ++++++++ {dubbo-cluster-extensions => dubbo-wasm}/pom.xml | 34 +- pom.xml | 34 +- test/dubbo-scenario-builder/pom.xml | 6 +- test/dubbo-test-runner/pom.xml | 3 +- test/pom.xml | 16 +- test/scenarios/pom.xml | 9 +- .../dubbo-serialization-avro-test/pom.xml | 13 +- .../dubbo-serialization-fastjson-test/pom.xml | 13 +- .../dubbo-serialization-fst-test/pom.xml | 11 +- .../dubbo-serialization-gson-test/pom.xml | 13 +- .../dubbo-serialization-kryo-test/pom.xml | 16 +- .../dubbo-serialization-protobuf-test/pom.xml | 18 +- .../main/resources/spring/dubbo-demo-provider.xml | 2 +- .../dubbo-serialization-protostuff-test/pom.xml | 13 +- .../dubbo-serialization-testcase/pom.xml | 5 +- .../scenarios-dubbo-serialization/pom.xml | 9 +- 540 files changed, 36457 insertions(+), 1825 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/dubbo-spi-extensions-feature-request-template.md delete mode 100644 .github/ISSUE_TEMPLATE/dubbo-spi-extensions-issue-report-template.md create mode 100644 .github/dependabot.yaml create mode 100644 .github/workflows/build-and-test-pr.yml create mode 100644 .github/workflows/build-and-test-scheduled-3.1.yml create mode 100644 .github/workflows/build-and-test-scheduled-3.2.yml create mode 100644 .github/workflows/build-and-test-scheduled-main.yml delete mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release-test.yml create mode 100644 .licenserc.yaml copy dobbo-doc-auto-gen/src/main/java/org/apache/dubbo/doc/{DocAutoGen.java => DocAutoGenCN.java} (58%) copy {dubbo-rpc-extensions/dubbo-rpc-rmi => dubbo-cluster-extensions/dubbo-cluster-router-mesh}/pom.xml (79%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshAppRuleListener.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshEnvListener.java (64%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshEnvListenerFactory.java (66%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleCache.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleConstants.java (57%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleManager.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleRouter.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/StandardMeshRuleRouter.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/route/StandardMeshRuleRouterFactory.java (61%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/BaseRule.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/VsDestinationGroup.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/ConnectionPoolSettings.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/DestinationRule.java (61%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/DestinationRuleSpec.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/Subset.java (57%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/TCPSettings.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/TcpKeepalive.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/TrafficPolicy.java (59%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/loadbanlance/ConsistentHashLB.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/loadbanlance/LoadBalancerSettings.java (53%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/desination/loadbanlance/SimpleLB.java (66%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/DubboMatchRequest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/DubboRoute.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/DubboRouteDetail.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/VirtualServiceRule.java (61%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/VirtualServiceSpec.java (56%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/destination/DubboDestination.java (50%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/destination/DubboRouteDestination.java (61%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/AddressMatch.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/BoolMatch.java (66%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DoubleMatch.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DoubleRangeMatch.java (50%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DubboAttachmentMatch.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DubboMethodArg.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DubboMethodMatch.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/ListBoolMatch.java (60%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/ListDoubleMatch.java (60%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/ListStringMatch.java (60%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/StringMatch.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/util/MeshRuleDispatcher.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/util/MeshRuleListener.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/main/java/org/apache/dubbo/rpc/cluster/router/mesh/util/TracingContextProvider.java (58%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshAppRuleListenerTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleCacheTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleManagerTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/route/MeshRuleRouterTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/route/StandardMeshRuleRouterFactoryTest.java (69%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/DestinationRuleTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/VirtualServiceRuleTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/DubboMatchRequestTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/BoolMatchTest.java (61%) create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DoubleMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DubboAttachmentMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/DubboMethodMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/ListBoolMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/ListDoubleMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/ListStringMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/virtualservice/match/StringMatchTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/util/MeshRuleDispatcherTest.java create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/resources/DestinationRuleTest.yaml create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/resources/DestinationRuleTest2.yaml create mode 100644 dubbo-cluster-extensions/dubbo-cluster-router-mesh/src/test/resources/VirtualServiceTest.yaml create mode 100644 dubbo-common-extensions/README.md create mode 100644 dubbo-common-extensions/README_ch.md create mode 100644 dubbo-configcenter-extensions/README.md create mode 100644 dubbo-configcenter-extensions/README_ch.md copy dubbo-cross-thread-extensions/{README.md => README_ch.md} (88%) copy dubbo-metadata-report-extensions/{dubbo-metadata-report-etcd => dubbo-metadata-rest}/pom.xml (53%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/AbstractAnnotatedMethodParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/AbstractServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/AnnotatedMethodParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/DefaultServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/ServiceRestMetadataAnnotationProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/ServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/ServiceRestMetadataStorage.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/DefaultValueParameterProcessor.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/FormParamParameterProcessor.java (57%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/HeaderParamParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/JAXRSServiceRestMetadataResolver.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/MatrixParamParameterProcessor.java (56%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/ParamAnnotationParameterProcessor.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/jaxrs/QueryParamParameterProcessor.java (57%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/springmvc/AbstractRequestAnnotationParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/springmvc/RequestHeaderParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/springmvc/RequestParamParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/springmvc/SpringMvcServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/AbstractAnnotatedMethodParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/AbstractNoAnnotatedParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/AbstractServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/AnnotatedMethodParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/ArgInfo.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/ClassPathServiceRestMetadataReader.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/DefaultServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/JAXRSClassConstants.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/NoAnnotatedParameterRequestTagProcessor.java (58%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/ParamType.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/PathMatcher.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/PathUtil.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/RequestMetadata.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/RestMetadataConstants.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/RestMethodMetadata.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/ServiceRestMetadata.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/ServiceRestMetadataReader.java (65%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/ServiceRestMetadataResolver.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/SpringMvcClassConstants.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/BodyParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/DefaultValueParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/FormBodyParameterProcessor.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/FormParamParameterProcessor.java (58%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/HeaderParamParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/JAXRSServiceRestMetadataResolver.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/MatrixParamParameterProcessor.java (58%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/ParamAnnotationParameterProcessor.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/PathParamParameterProcessor.java (54%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/QueryParamParameterProcessor.java (58%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/media/MediaType.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/AbstractRequestAnnotationParameterProcessor.java copy dubbo-remoting-extensions/dubbo-remoting-mina/src/test/java/org/apache/remoting/transport/mina/MinaClientToServerTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/FormBodyNoAnnotatedProcessor.java (50%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/JsonBodyNoAnnotatedProcessor.java (53%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/ParamNoAnnotatedProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/PathVariableParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/RequestBodyParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/RequestHeaderParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/RequestParamParameterProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/SpringMvcServiceRestMetadataResolver.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/tag/BodyTag.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/java/org/apache/dubbo/metadata/extension/rest/api/tag/ParamTag.java (66%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.extension.rest.annotation.processing.AnnotatedMethodParameterProcessor create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.extension.rest.annotation.processing.ServiceRestMetadataResolver create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.extension.rest.api.AnnotatedMethodParameterProcessor create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.extension.rest.api.NoAnnotatedParameterRequestTagProcessor create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.extension.rest.api.ServiceRestMetadataResolver create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/AnnotatedMethodParameterProcessorTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/RestServiceTest.java (51%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/SpringRestServiceTest.java (54%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/StandardRestServiceTest.java (54%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/common/AbstractAnnotationProcessingTest.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/common/AnnotationProcessingTestProcessor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/common/Compiler.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/common/CompilerInvocationInterceptor.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/rest/DefaultRestService.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/rest/RestService.java (59%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/rest/SpringRestService.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/rest/StandardRestService.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/annotation/processing/rest/User.java (51%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/DefaultRestService.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/NoAnnotationApiDemoResolverTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/RestService.java (55%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/SpringRestService.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/StandardRestService.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/User.java (52%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/AnotherUserRestService.java (54%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/JaxrsRestDoubleCheckContainsPathVariableService.java (55%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/JaxrsRestDoubleCheckService.java (55%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/JaxrsRestService.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/JaxrsRestServiceImpl.java (53%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/JaxrsUsingService.java (52%) create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/SpringControllerService.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/SpringRestService.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/api/SpringRestServiceImpl.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/JAXRSServiceRestMetadataResolverTest.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/jaxrs/JaxrsRestDoubleCheckTest.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/java/org/apache/dubbo/metadata/extension/rest/api/springmvc/SpringMvcServiceRestMetadataResolverTest.java create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/resources/META-INF/dubbo/internal/org.apache.dubbo.metadata.report.MetadataReportFactory create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/resources/META-INF/dubbo/jax-rs-service-rest-metadata.json create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/resources/META-INF/dubbo/service-name-mapping.properties create mode 100644 dubbo-metadata-report-extensions/dubbo-metadata-rest/src/test/resources/META-INF/dubbo/spring-mvc-service-rest-metadata.json copy {dubbo-registry-extensions/dubbo-registry-dns => dubbo-metadata-report-extensions/dubbo-metadata-rest}/src/test/resources/dubbo.properties (100%) copy {dubbo-filter-extensions/dubbo-filter-seata => dubbo-proxy-extensions/dubbo-proxy-bytebuddy}/pom.xml (70%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/main/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyInterceptor.java (51%) create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/main/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxy.java copy dubbo-remoting-extensions/dubbo-remoting-mina/src/test/java/org/apache/remoting/transport/mina/MinaClientToServerTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/main/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxyFactory.java (52%) create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/main/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxyInvoker.java create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.ProxyFactory create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/proxy/AbstractProxyTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/proxy/RemoteService.java (66%) create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyInterceptorTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxyFactoryTest.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxyInvokerTest.java (50%) create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/proxy/bytebuddy/ByteBuddyProxyTest.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/support/DemoService.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/support/DemoServiceImpl.java (66%) create mode 100644 dubbo-proxy-extensions/dubbo-proxy-bytebuddy/src/test/java/org/apache/dubbo/rpc/support/MyInvoker.java copy {dubbo-metadata-report-extensions => dubbo-proxy-extensions}/pom.xml (89%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/{util => }/DNSResolverTest.java (77%) copy {dubbo-configcenter-extensions/dubbo-configcenter-etcd => dubbo-remoting-extensions/dubbo-remoting-http}/pom.xml (57%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/BaseRestClient.java (56%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/HttpBinder.java (58%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/HttpHandler.java (66%) create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/HttpServer.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/RequestTemplate.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/RestClient.java (58%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/RestResult.java (59%) create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/config/HttpClientConfig.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/AbstractHttpClientFactory.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/RestClientFactory.java (55%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/impl/ApacheHttpClientFactory.java (54%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/impl/OkHttpClientFactory.java (55%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/factory/impl/URLConnectionClientFactory.java (54%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/jetty/JettyHttpBinder.java (64%) create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/jetty/JettyHttpServer.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/jetty/JettyLoggerAdapter.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/restclient/HttpClientRestClient.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/restclient/OKHttpRestClient.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/restclient/URLConnectionRestClient.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/servlet/BootstrapListener.java (52%) create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/servlet/DispatcherServlet.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/servlet/ServletHttpBinder.java (64%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/servlet/ServletHttpServer.java (62%) create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/servlet/ServletManager.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/support/AbstractHttpServer.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/tomcat/TomcatHttpBinder.java (66%) create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/java/org/apache/dubbo/remoting/http/tomcat/TomcatHttpServer.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.http.HttpBinder create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.remoting.http.factory.RestClientFactory create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/test/java/org/apache/dubbo/remoting/http/jetty/JettyHttpBinderTest.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/test/java/org/apache/dubbo/remoting/http/jetty/JettyLoggerAdapterTest.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/test/java/org/apache/dubbo/remoting/http/rest/RestClientTest.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/test/java/org/apache/dubbo/remoting/http/tomcat/TomcatHttpBinderTest.java create mode 100644 dubbo-remoting-extensions/dubbo-remoting-http/src/test/resources/log4j.xml create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/pom.xml copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/Constants.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/NettyHttpRestServer.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/PathAndInvokerMapper.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/ReferenceCountedClient.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestConstraintViolation.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestHeaderEnum.java (50%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestInvoker.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestProtocol.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestProtocolServer.java (63%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestRPCInvocationUtil.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RestServerFactory.java (67%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/RpcExceptionMapper.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/ViolationReport.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/BaseParseContext.java (55%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/ParamParser.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/ParamParserManager.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/HttpConnectionCreateContext.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/HttpConnectionPreBuildIntercept.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/AddMustAttachmentIntercept.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/AttachmentIntercept.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/ParamParseIntercept.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/PathVariableIntercept.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/RequestHeaderIntercept.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/consumer/inercept/SerializeBodyIntercept.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/metadata/MetadataResolver.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/BaseConsumerParamParser.java (62%) copy dubbo-remoting-extensions/dubbo-remoting-mina/src/test/java/org/apache/remoting/transport/mina/MinaClientToServerTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/BodyConsumerParamParser.java (50%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/ConsumerParseContext.java (61%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/FormConsumerParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/HeaderConsumerParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/consumer/ParameterConsumerParamParser.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/BaseProviderParamParser.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/BodyProviderParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/HeaderProviderParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/ParamProviderParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/PathProviderParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/ProviderParamParser.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/annotation/param/parse/provider/ProviderParseContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/constans/RestConstant.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/deploy/ServiceDeployer.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/CodeStyleNotSupportException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/DoublePathCheckException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/MediaTypeUnSupportException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/ParamParseException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/PathNoFoundException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/RemoteServerInternalException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/RestException.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/UnSupportContentTypeException.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/mapper/ExceptionHandler.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/mapper/ExceptionHandlerResult.java (50%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/mapper/ExceptionMapper.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/exception/mapper/RestEasyExceptionMapper.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/ResteasyContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/filter/DubboBuiltResponse.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/filter/DubboContainerResponseContextImpl.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/filter/DubboPreMatchContainerRequestContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/filter/ResteasyNettyHttpResponse.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/filter/ResteasyRequestContainerFilterAdapter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/filter/ResteasyResponseContainerFilterAdapter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/intercept/DubboServerWriterInterceptorContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/intercept/ResteasyStatusCodeInterceptor.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/extension/resteasy/intercept/ResteasyWriterInterceptorAdapter.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/RestFilter.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/RestRequestFilter.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/RestResponseFilter.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/RestResponseInterceptor.java (62%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/ServiceInvokeRestFilter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/ServiceInvokeRestResponseInterceptor.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/context/FilterContext.java (57%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/context/RestFilterContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/filter/context/RestInterceptContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/handler/NettyHttpHandler.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/integration/swagger/DubboSwaggerApiListingResource.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/integration/swagger/DubboSwaggerService.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageCodecManager.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageDecode.java (66%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/HttpMessageEncode.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/MediaTypeMatcher.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/ByteArrayCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/JsonCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/MultiValueCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/ResteasyResponseCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/StringCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/TextCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/message/codec/XMLCodec.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/ChunkOutputStream.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/HttpResponse.java (52%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/NettyHttpResponse.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/NettyServer.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/RestHttpRequestDecoder.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/UnSharedHandlerCreator.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/ssl/SslContexts.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/netty/ssl/SslServerTlsHandler.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/pair/InvokerAndRestMethodMetadataPair.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/pair/MessageCodecResultPair.java (52%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/request/NettyRequestFacade.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/request/RequestFacade.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/ResteasyContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/filter/DubboBuiltResponse.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/filter/DubboContainerResponseContextImpl.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/filter/DubboPreMatchContainerRequestContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/filter/ResteasyNettyHttpResponse.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/filter/ResteasyRequestContainerFilterAdapter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/filter/ResteasyResponseContainerFilterAdapter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/intercept/DubboServerWriterInterceptorContext.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/intercept/ResteasyStatusCodeInterceptor.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/resteasy/intercept/ResteasyWriterInterceptorAdapter.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/support/ContentType.java (62%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/swagger/DubboSwaggerApiListingResource.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/swagger/DubboSwaggerService.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/ConstraintViolationExceptionConvert.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/DataParseUtils.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/HttpHeaderUtil.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/MediaTypeUtil.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/MultiValueCreator.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/NumberUtils.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/java/org/apache/dubbo/rpc/protocol/rest/util/ReflectUtils.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.Protocol create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.annotation.consumer.HttpConnectionPreBuildIntercept create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.consumer.BaseConsumerParamParser create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.annotation.param.parse.provider.BaseProviderParamParser create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.filter.RestRequestFilter create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.filter.RestResponseFilter create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.filter.RestResponseInterceptor create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.protocol.rest.message.HttpMessageCodec create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/DataParseUtilsTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/DemoService.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/DemoServiceImpl.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/ExceptionMapperTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/HttpMessageCodecManagerTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/JaxrsRestProtocolTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/MediaTypeUtilTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/NettyRequestFacadeTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/NumberUtilsTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/ResteasyResponseTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/RpcExceptionMapperTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/ServiceConfigTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/SpringMvcRestProtocolTest.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/User.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/exception/ResteasyExceptionMapper.java (67%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/filter/TestContainerRequestFilter.java (58%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/filter/TraceFilter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/filter/TraceRequestAndResponseFilter.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/intercept/DynamicTraceInterceptor.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/mvc/SpringControllerService.java (67%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/mvc/SpringDemoServiceImpl.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/mvc/SpringRestDemoService.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/AnotherUserRestService.java copy dubbo-remoting-extensions/dubbo-remoting-mina/src/test/java/org/apache/remoting/transport/mina/MinaClientToServerTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/AnotherUserRestServiceImpl.java (50%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/HttpMethodService.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/HttpMethodServiceImpl.java (53%) copy dubbo-remoting-extensions/dubbo-remoting-mina/src/test/java/org/apache/remoting/transport/mina/MinaClientToServerTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RegistrationResult.java (50%) copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RestDemoForTestException.java (54%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RestDemoService.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/RestDemoServiceImpl.java copy dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/TestGetInvokerService.java (66%) create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/rest/TestGetInvokerServiceImpl.java create mode 100644 dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/swagger/DubboSwaggerApiListingResourceTest.java rename dubbo-registry-extensions/dubbo-registry-dns/src/test/java/org/apache/dubbo/registry/dns/util/DNSResolverTest.java => dubbo-rpc-extensions/dubbo-rpc-rest/src/test/java/org/apache/dubbo/rpc/protocol/rest/swagger/SwaggerService.java (64%) create mode 100644 dubbo-wasm/README.md create mode 100644 dubbo-wasm/README_zh.md copy {dubbo-configcenter-extensions/dubbo-configcenter-consul => dubbo-wasm/dubbo-wasm-api}/pom.xml (69%) create mode 100644 dubbo-wasm/dubbo-wasm-api/src/main/java/org/apache/dubbo/wasm/WasmLoader.java create mode 100644 dubbo-wasm/dubbo-wasm-api/src/main/java/org/apache/dubbo/wasm/exception/DubboWasmException.java create mode 100644 dubbo-wasm/dubbo-wasm-api/src/main/java/org/apache/dubbo/wasm/exception/DubboWasmInitException.java copy {dubbo-registry-extensions/dubbo-registry-etcd3 => dubbo-wasm/dubbo-wasm-cluster-api}/pom.xml (67%) create mode 100644 dubbo-wasm/dubbo-wasm-cluster-api/src/main/java/org/apache/dubbo/wasm/cluster/loadbalance/AbstractWasmLoadBalance.java create mode 100644 dubbo-wasm/dubbo-wasm-cluster-api/src/main/java/org/apache/dubbo/wasm/cluster/router/AbstractWasmRouter.java create mode 100644 dubbo-wasm/dubbo-wasm-cluster-api/src/test/java/org/apache/dubbo/wasm/cluster/loadbalance/AbstractWasmLoadBalanceTest.java create mode 100644 dubbo-wasm/dubbo-wasm-cluster-api/src/test/java/org/apache/dubbo/wasm/cluster/router/AbstractWasmRouterTest.java copy {dubbo-registry-extensions/dubbo-registry-etcd3 => dubbo-wasm/dubbo-wasm-common-api}/pom.xml (69%) create mode 100644 dubbo-wasm/dubbo-wasm-common-api/src/main/java/org/apache/dubbo/wasm/common/config/configcenter/AbstractWasmDynamicConfiguration.java create mode 100644 dubbo-wasm/dubbo-wasm-common-api/src/test/java/org/apache/dubbo/wasm/common/config/configcenter/AbstractWasmDynamicConfigurationTest.java copy {dubbo-registry-extensions/dubbo-registry-etcd3 => dubbo-wasm/dubbo-wasm-registry-api}/pom.xml (69%) create mode 100644 dubbo-wasm/dubbo-wasm-registry-api/src/main/java/org/apache/dubbo/wasm/registry/client/AbstractWasmServiceDiscovery.java create mode 100644 dubbo-wasm/dubbo-wasm-registry-api/src/main/java/org/apache/dubbo/wasm/registry/support/AbstractWasmRegistry.java create mode 100644 dubbo-wasm/dubbo-wasm-registry-api/src/test/java/org/apache/dubbo/wasm/registry/client/AbstractWasmServiceDiscoveryTest.java create mode 100644 dubbo-wasm/dubbo-wasm-registry-api/src/test/java/org/apache/dubbo/wasm/registry/support/AbstractWasmRegistryTest.java copy {dubbo-registry-extensions/dubbo-registry-etcd3 => dubbo-wasm/dubbo-wasm-remoting-api}/pom.xml (67%) create mode 100644 dubbo-wasm/dubbo-wasm-remoting-api/src/main/java/org/apache/dubbo/wasm/remoting/transport/AbstractWasmChannel.java create mode 100644 dubbo-wasm/dubbo-wasm-remoting-api/src/test/java/org/apache/dubbo/wasm/remoting/transport/AbstractWasmChannelTest.java copy {dubbo-registry-extensions/dubbo-registry-etcd3 => dubbo-wasm/dubbo-wasm-rpc-api}/pom.xml (67%) create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/main/java/org/apache/dubbo/wasm/rpc/AbstractWasmFilter.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/main/java/org/apache/dubbo/wasm/rpc/protocol/AbstractWasmExporter.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/main/java/org/apache/dubbo/wasm/rpc/protocol/AbstractWasmInvoker.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/main/java/org/apache/dubbo/wasm/rpc/protocol/AbstractWasmProtocol.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/test/java/org/apache/dubbo/wasm/rpc/AbstractWasmFilterTest.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/test/java/org/apache/dubbo/wasm/rpc/protocol/AbstractWasmExporterTest.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/test/java/org/apache/dubbo/wasm/rpc/protocol/AbstractWasmInvokerTest.java create mode 100644 dubbo-wasm/dubbo-wasm-rpc-api/src/test/java/org/apache/dubbo/wasm/rpc/protocol/AbstractWasmProtocolTest.java copy {dubbo-configcenter-extensions/dubbo-configcenter-consul => dubbo-wasm/dubbo-wasm-test}/pom.xml (73%) create mode 100644 dubbo-wasm/dubbo-wasm-test/src/main/java/org/apache/dubbo/wasm/test/TestHelper.java create mode 100755 dubbo-wasm/dubbo-wasm-test/src/main/resources/rust_extensions.wasm create mode 100644 dubbo-wasm/dubbo-wasm-test/src/main/rust-extensions/Cargo.toml create mode 100644 dubbo-wasm/dubbo-wasm-test/src/main/rust-extensions/README.md create mode 100644 dubbo-wasm/dubbo-wasm-test/src/main/rust-extensions/src/lib.rs copy {dubbo-cluster-extensions => dubbo-wasm}/pom.xml (60%)