Commit Graph

1477 Commits

Author SHA1 Message Date
Sean Yang 35adffac48
HTTP/3 support for dubbo triple (#14033) 2024-06-16 14:26:29 +08:00
TomlongTK e49b8b2411
When a header frame with an end_stream flag is received, the close method of the streaming decoder is called (#14313) 2024-06-14 11:07:23 +08:00
icodening e4fa369b29
add serialization check (#14312) 2024-06-12 09:57:13 +08:00
TomlongTK 5d5d0365b5
Triple http limiting the size of the HTTP request and response (#14246)
* Triple http limiting the size of the HTTP request and response

* Limit http1 and http2 response body

* Native http2 unary calls use Http2ServerUnaryChannelObserver, The flag should also be set when the http1 connection is disconnected

* Format code

* Fix some problems

* Revert netty new api

* Code format

---------

Co-authored-by: earthchen <earthchen1996@gmail.com>
2024-06-11 19:08:41 +08:00
TomlongTK 6f1a41f125
Http header verification is not required for h2c (#14231) 2024-05-23 21:28:29 +08:00
TomlongTK 935849f4ce
Optimize the decoding of generic http2 (#14175)
* Optimize the decoding of generic http2

* Decode on close

* Clean up netty residual memory when stream is closed
2024-05-23 11:17:31 +08:00
TomlongTK b5bb04496c
Add TripleConfig to ProtocolConfig as nest configuration (#14077)
* Add TripleConfig to ProtocolConfig as nest configuration

* Fix compile issue

* Use default protocol config

* Format code

* Handle the situation where ProtocolConfig is not set

* Follow the old rules and fix some sonar issues

* Add checkDefault method

* Refresh when uninitialized

* Remove needRefresh

---------

Co-authored-by: earthchen <earthchen1996@gmail.com>
2024-05-23 11:15:06 +08:00
Rawven 1f6d441de6
[Feature 3.3] Triple Rest Cors Support (#14073)
* feat(): add cors key

* feat(): add base cors class

* feat(): add cors class in rpc-triple and rest-spring

* feat(): add cors class in rpc-triple and rest-spring

* test(): add rpc-triple cors test

* fix(): fix CorsUtil bug

* fix(): fix CorsUtil bug

* fix(): fix objectUtil bug

* fix(): fix corsmeta set bug

* fix(): fix config load fail bug

* fix(): option method can not be look fail

* fix(): CorsMeta method will null

* fix(): request-header not set will fail

* refactor(): improve CorsMeta CorsProcess some code

* fix(): coreMeta combine priority

* test(): remove rest-spring cors test to sample

* docs(): add docs

* revert(): test version

* fix(): getCorsMeta can be null

* fix(): combine can be null

* fix(): save option and vary bug

* fix(): pom version

* fix(): spring version will cause allowPrivateWork resolve error

* fix(): ci

* refactor(): delete useless code

* refactor(): accept some sonarcloud issue

* refactor(): add @Nullable to point the CorsMeta Attributes

* refactor(): style

* fix(): fix prelight logic

* fix(): remove credential & privateNetWork report

* refactor(): Move globalMetaMerge in RequestMappingResolver

* refactor(): use array replace corsConfig string

* refactor(): move CorsProcessor to CorsHeaderFilterAdapter

* fix(): fix unit test

* fix(): fix test failure

* fix(): delete useless param

* fix(): fix sonarcloud

* fix(): fix wrong class place & naming

* fix(): fix wrong static global corsMeta

* fix(): refactor CorsUtil from sonar issue

* feat(rest): refine cors support

* feat(rest): refine cors support

* feat(rest): refine cors support bugfix

* fix(): getBoolean will throw exception when null

* fix(rest-spring): fix crossOrigin allowCredentials is string

* fix(): fix globalCorsMeta load null

* fix(): fix vary header bug

* fix(): fix unit test && Fix cors specification

* fix(): fix pom

* fix(): fix combine bug

* fix(): fix some sonar issue

* fix(): fix style

* feat(rest): refine cors support

* fix(): fix style

* fix(): fix needed sonar issue

* refactor(): refactor CorsMeta.combine() and add comment

* fix(): Replenish license

* fix(): update test

* test(): Refactor the test class and add credential test cases

* test(): Refactor the test class and add credential test cases

* fix(rest): revert api HeaderFilter

* fix(): accept sonar issue

---------

Co-authored-by: Sean Yang <oxsean@gmail.com>
Co-authored-by: earthchen <earthchen1996@gmail.com>
2024-05-23 11:05:17 +08:00
Albumen Kevin 225ca9d232
[3.3] Update hessian-lite to 4.0.0 & Set hessian serialization back (#13974) 2024-05-22 10:13:57 +08:00
Sean Yang 80ffcd7a85
fix(triple): Fix http GET failed cause by http1 upgrade cause (#14223) 2024-05-21 18:56:20 +08:00
TomlongTK e8ccb01886
Close server channel (#14199) 2024-05-17 10:48:09 +08:00
icodening 2c38cab1d2
fix memory leak of tri protocol (#13973)
* fix memory leak of tri protocol

* fix memory leak of tri protocol

* fix memory leak of tri protocol

* fix memory leak of tri protocol

* fix memory leak of tri protocol

* fix memory leak of tri protocol

* fixup! fix memory leak of tri protocol

* fix memory leak of tri protocol

* fix memory leak of tri protocol

---------

Co-authored-by: earthchen <earthchen1996@gmail.com>
2024-05-14 13:58:01 +08:00
Albumen Kevin fa16bed3a3 Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	dubbo-monitor/dubbo-monitor-default/src/test/java/org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java
#	dubbo-plugin/dubbo-reactive/src/main/java/org/apache/dubbo/reactive/calls/ReactorServerCalls.java
#	dubbo-remoting/dubbo-remoting-http12/pom.xml
2024-05-13 14:49:07 +08:00
Zhang ZP b9e1dc057f
Triple protocol http1 upgrade support (#14026)
* Triple protocol http1 upgrade support

* support Application-Layer Protocol Negotiation

* support Application-Layer Protocol Negotiation

* support Application-Layer Protocol Negotiation
2024-05-11 14:40:20 +08:00
Kaiyao Ke 8e2eb332a1
fixed non-idempotent unit tests (#14172) 2024-05-11 00:27:46 +08:00
王聪洋 d1c6e558a7
Task #13958 Move Rest Protocol to SPI Extensions (#14061) 2024-05-10 09:53:37 +08:00
TomlongTK 487fa4f7c7
Fix memory leak (#14127) 2024-05-08 14:08:57 +08:00
TomlongTK faefee2cb2
Optimize convertToNumber method (#14159) 2024-05-08 11:51:00 +08:00
aofall ca7151e531
fix: Bytebuf resource leak (#14071) 2024-04-16 14:24:28 +08:00
Albumen Kevin 53553dcef4 Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	dubbo-container/dubbo-container-api/src/main/java/org/apache/dubbo/container/Main.java
#	dubbo-dependencies-bom/pom.xml
#	dubbo-distribution/dubbo-apache-release/pom.xml
#	dubbo-monitor/dubbo-monitor-api/src/main/java/org/apache/dubbo/monitor/support/AbstractMonitorFactory.java
#	dubbo-remoting/dubbo-remoting-http12/pom.xml
#	dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/h12/AbstractServerCallListener.java
#	dubbo-spring-boot/pom.xml
#	dubbo-test/dubbo-test-spring/pom.xml
2024-04-10 13:15:14 +08:00
caoyanan666 95439fb23c
fix(3.2): triple AbstractServerCallListener NPE (#14009)
* fix NPE

* Optimize the handling of exceptions in response

---------

Co-authored-by: caoyanan <caoyanan@growingio.com>
2024-04-07 14:56:35 +08:00
TomlongTK 0840c60e54
For HTTP/1 unary mode, use Content-Length instead of chunk (#13979)
* For HTTP/1 unary mode, use Content-Length instead of chunk

* Fix format issue

* Http1 unary

* Fix unit test

* refine

* refine

* Fix status

---------

Co-authored-by: TomlongTK <18779116352@163.com>
Co-authored-by: Sean Yang <oxsean@gmail.com>
2024-04-07 13:50:02 +08:00
jean pierre Lerbscher 00812ce41c
Fix Sonar issue s2293 The diamond operator ('<>') should be used (#14005) 2024-03-29 11:40:06 +08:00
huazhongming 55b6d170d9
Fix the triple protocol request failed in the native scenario (#13984)
Signed-off-by: crazyhzm <crazyhzm@gmail.com>
2024-03-26 19:13:58 +08:00
TomlongTK cf53c38179
Add application name on http1 and http2 (#13906) 2024-03-12 14:15:42 +08:00
Albumen Kevin da2dd6d2a1 Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	README.md
#	dubbo-container/dubbo-container-api/src/main/java/org/apache/dubbo/container/Main.java
2024-03-12 11:36:55 +08:00
aofall 36e0cf5490
fix(#13305): RpcContext local address info get null on custom filter (#13751)
* fix(#13305): RpcContext local address info get null on custom filter

* fix ci build failed

* fix ci build failed
2024-03-11 14:00:16 +08:00
TomlongTK cb92fcc19e
Fix obtaining remote application name on the server side (#13811) 2024-03-08 10:01:18 +08:00
Albumen Kevin 76390eed4e Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	dubbo-dependencies-bom/pom.xml
#	dubbo-spring-boot/pom.xml
2024-03-05 09:47:49 +08:00
suncairong163 69dd801db2
Fix incorrect rest response header and demo double path error (#13789)
* fix dubbo demo xml double path error

* fix  restEasy response  headers formate

* fix content-type judge

* remove unused code
2024-02-28 10:44:29 +08:00
Sean Yang 044a775373
fix(rest): Fix rest convert error (#13783) 2024-02-26 10:05:51 +08:00
Albumen Kevin ce570dd932 Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	README.md
#	dubbo-build-tools/pom.xml
#	dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
#	dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java
#	dubbo-dependencies-bom/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
#	dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/api/pu/AbstractPortUnificationServer.java
#	dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyPortUnificationServerHandler.java
#	pom.xml
2024-02-04 17:25:16 +08:00
Sean Yang 2dde7ac09e
feat(triple): Dubbo triple&rest protocol convergense (#13607) 2024-02-01 14:00:16 +08:00
icodening 2cf54f7947
Close the connection but not the client (#13600)
* Close the connection but not the client

* Close the connection but not the client
2024-01-19 18:19:57 +08:00
Albumen Kevin c38fa0ac8b Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	.editorconfig
#	dubbo-build-tools/pom.xml
#	dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/MergeableClusterInvoker.java
#	dubbo-dependencies-bom/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
#	dubbo-native-plugin/pom.xml
#	dubbo-spring-boot/pom.xml
2024-01-19 15:19:31 +08:00
Sean Yang 46af145730
refactor(triple): Clean up some unused classes to facilitate reference analysis (#13619) 2024-01-19 14:46:30 +08:00
Bernardo Sauer 7a3ad4ab41
Hotfix rest Chinese encoding (#13617)
* decode uri in RequestFacade

* supplement the unit test

* fix code style violations

* remove duplicate codes

* consider Accept-Charset as enc

* run mvn spotless apply

* add comment

* take weight into consideration

* fix code style violations according sonar

* add DEFAULT_CHARSET

---------

Co-authored-by: chenxinyuan1 <chenxinyuan1@xiaomi.com>
2024-01-19 11:19:35 +08:00
MaruHibiki 966efaab85
do not invoke test method(#13589) (#13601)
* do not invoke test method(#13589)

* Fix style check

---------

Co-authored-by: Albumen Kevin <jhq0812@gmail.com>
2024-01-10 11:27:48 +08:00
namelessssssssssss e583187aac
Fix triple injvm deep copy issue (#13597) 2024-01-04 20:01:38 +08:00
Albumen Kevin d018475f73 Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	README.md
#	dubbo-common/pom.xml
#	dubbo-common/src/main/java/org/apache/dubbo/config/MetricsConfig.java
#	dubbo-demo/dubbo-demo-triple/pom.xml
#	dubbo-dependencies-bom/pom.xml
#	dubbo-distribution/dubbo-all/pom.xml
#	dubbo-metadata/dubbo-metadata-processor/pom.xml
#	dubbo-native-plugin/pom.xml
#	dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
#	dubbo-spring-boot/pom.xml
2023-12-27 23:27:35 +08:00
suncairong163 501a7a7653
resteasy response status code support (#13586)
* resteasy response status code support

* fix code format
2023-12-27 23:18:28 +08:00
宝宝爸师 1368e21d9b
optimize isProtobufClass method impl (#13557)
* optimize isProtobufClass method impl

* build error for unknown reason

* fix build error
2023-12-26 17:31:44 +08:00
huazhongming 36e0ee0a96
Revert dubbo module refactor (#13541)
* Revert dubbo module refactor

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

* Revert dubbo module refactor

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

* Revert dubbo module refactor

Signed-off-by: crazyhzm <crazyhzm@gmail.com>

---------

Signed-off-by: crazyhzm <crazyhzm@gmail.com>
2023-12-21 10:17:43 +08:00
G-XD 092a1bd619
release the ByteBuf Fixes #13492 (#13514) 2023-12-20 21:06:23 +08:00
yizhenqiang 365b805026
if SSL auth policy is set to AuthPolicy.NONE, SslServerTlsHandler#decode should remove and return instead of printing the error log. (#13507)
Co-authored-by: yizhenqiang <yizhenqiang@corp.netesase.com>
2023-12-20 20:58:44 +08:00
namelessssssssssss 6118aa55f2
Support more content types for Triple protocol (#13387)
* Add more content type support for triple

* Add more content type support for triple

* Add tests & Bug fix

* Code style fix

* Code style fix

* Code style fix

* Code style fix

* Code style fix

* Set codec related dependencies to provided

* Change CodecUtil to bean

* Support Triple response encode by Accept header

* Support Triple response encode by Accept header

* Fix npe

* Refactor response encode

* Bug fix

* Style fix

* Bug fix & Add log

* Style fix

* Bug fix

* Update ExceptionUtilsTest.java

* Refactor

* Fix code style

* Refactor

* Refactor

* Code style fix

* Refactor

* Refactor

* Code style optimize

* Code style optimize

* Refactor MultipartCodec

* Add tests & Remove some dep

* Remove commons_fileupload from bom

* Simplify depedencies & clean up

* Fix jaxb version

* Enhance reliability for MultipartCodec & Add tests

* Enhance reliability for MultipartCodec

* Add test cases

* Add test cases

* Add test cases

* Add test cases

* Add test for xml safety

* Add test for xml safety

* Refactor CodecFactory

* Refactor CodecFactory

* Refactor CodecFactory

* Add codec cache

* Fix npe

* Fix npe

---------

Co-authored-by: nameless <x1544669126@gmail.com>
2023-12-16 11:36:22 +08:00
Albumen Kevin 0fccd2ccae Merge branch 'apache-3.2' into apache-3.3
# Conflicts:
#	dubbo-build-tools/pom.xml
#	dubbo-dependencies-bom/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
#	dubbo-kubernetes/pom.xml
#	dubbo-native-plugin/pom.xml
#	dubbo-xds/pom.xml
#	dubbo-xds/src/test/java/org/apache/dubbo/rpc/cluster/router/xds/XdsRouteTest.java
#	pom.xml
2023-12-14 19:36:25 +08:00
kaze 5554706256
Fix streamobserver actual type (#13446)
* fix:obtain actual type in StreamObserver.

* format code

---------

Co-authored-by: kaze <kaze-official@foxmail.com>
2023-12-06 10:57:09 +08:00
crazyhzm 4737eafcb4 Fix SpringMvcRestProtocolTest
Signed-off-by: crazyhzm <crazyhzm@gmail.com>
2023-12-04 20:16:44 +08:00
crazyhzm 5cf765889e Remove unused import
Signed-off-by: crazyhzm <crazyhzm@gmail.com>
2023-12-04 20:02:18 +08:00