Commit Graph

288 Commits

Author SHA1 Message Date
gaowenju df484c84e0 debug: record stack info when trigger cookie parse 2023-04-06 15:25:11 +08:00
kinggo e3dfebac58
chore: release v0.5.1 (#554) 2023-01-18 16:50:42 +08:00
alice 97bcf75a25 chore: update version v0.5.1 2023-01-18 16:47:44 +08:00
GuangyuFan 5ecf6819ee
fix(hz): package name inconsistency by method (#552) 2023-01-18 15:55:54 +08:00
Xuran be250003b7
fix: `CopyTo` doesn't copy bodyraw deeply (#542) 2023-01-17 15:15:26 +08:00
GuangyuFan 390b7084cb
chore(hz): release hz v0.5.1 (#550) 2023-01-17 15:05:58 +08:00
Wenju Gao 0aa3438e0d
fix: completion event was lost when an error occurred (#525) 2023-01-17 15:01:42 +08:00
GuangyuFan 327716b661
fix(hz): namespace conflict between master and include IDL (#533) 2023-01-17 14:40:46 +08:00
GuangyuFan 6d50372ad3
optimize: hz client generating template (#548) 2023-01-17 14:40:35 +08:00
zekin 6e0a35d48c
ci: add windows ci (#534) 2023-01-11 17:07:56 +08:00
CAMB 3c814a343a
fix: error constant undefined on Windows (#535) 2023-01-11 17:04:24 +08:00
GuangyuFan e0c6299d98
refactor(hz): hz template (#484)
Co-authored-by: kinggo <lilong.21@bytedance.com>
2023-01-11 14:57:32 +08:00
Lorain 855e03ddc6
feat: add Cookies function to return all the request cookies (#495)
Co-authored-by: GuangyuFan <97507466+FGYFFFF@users.noreply.github.com>
2023-01-10 11:38:04 +08:00
Xuran d4698036df
chore: merge back v0.5.0 (#524) 2023-01-09 18:49:37 +08:00
Xuran 95d427b918
chore: release v0.5.0 (#523) 2023-01-09 18:48:11 +08:00
alice 280bf60f5e chore: update version v0.5.0 2023-01-09 18:27:09 +08:00
GuangyuFan 8758794d8f
chore(hz): release hz v0.5.0 (#522) 2023-01-09 18:26:57 +08:00
zekin 67eb00def4
fix: client cannot parse stream body correctly when transfer-encoding is 'identity' (#515) 2023-01-09 13:58:14 +08:00
Xuran e0f24cea30
fix: OnAccept panic (#514) 2023-01-09 13:54:30 +08:00
kinggo 6e1b64174e
fix(hz): handle error in client call's template (#516) 2023-01-06 17:16:36 +08:00
GuangyuFan 4d7af18988
feat(hz): specify client generate dir (#511) 2023-01-05 14:37:11 +08:00
zekin 16de10c02f
ci: update go version and refactor code (#508) 2023-01-04 19:02:51 +08:00
GuangyuFan 36682f8027
fix(hz): base type error and multiple service error for client (#510) 2023-01-04 16:38:32 +08:00
Wenju Gao 81332e6a70
feat: add support for stream-based interface in network and protocol layers (#467)
#### What type of PR is this?
feat

#### Check the PR title.
- [x] This PR title match the format: \<type\>(optional scope):
\<description\>
- [x] The description of this PR title is user-oriented and clear enough
for others to understand.


#### (Optional) Translate the PR title into Chinese.
在网络和协议层添加对基于流的接口的支持

#### (Optional) More detail description for this PR(en: English/zh:
Chinese).
en: 
1. feat: add network layer support for stream-like interface.
2. refactor: server stab && implementation for stream-based protocol
server.
3. feat: add adapt api for request transforming.
4. feat: add WithAltTransporter option for parallel monitoring
5. feat: add a way to set alt-svc header for other protocol
6. feat: add ALPN support for stream-based server

In addition, refactoring has little to no impact on the performance
overhead of the current code.
benchmark:
goos: darwin
goarch: arm64
BenchmarkHertzHttp1New
BenchmarkHertzHttp1New-10    	   31362	     32511 ns/op
BenchmarkHertzHttp1Old
BenchmarkHertzHttp1Old-10    	   34706	     32683 ns/op



zh(optional):
1. 新增:为流式接口添加网络层支持。
2. 重构:基于流的协议服务器的服务埋桩 && 胶水实现。
3. 新增:添加用于请求转换的适配 api。
4. 新增:后备transporter能力,支持(tcp/quic)并行监听。
5. 新增:支持配置alt-svc给目标协议(目标协议以外的其他协议默认带上alt-svc信息)。
6. 新增:支持基于quic的alpn能力。

此外,重构对存量逻辑性能开销基本无影响。
benchmark:
goos: darwin
goarch: arm64
BenchmarkHertzHttp1New
BenchmarkHertzHttp1New-10    	   31362	     32511 ns/op
BenchmarkHertzHttp1Old
BenchmarkHertzHttp1Old-10    	   34706	     32683 ns/op


#### Which issue(s) this PR fixes:
part of #458
2023-01-03 16:26:11 +08:00
GuangyuFan 18cdbbd6fe
Merge branch 'develop' into feat/interfaces_for_stream_based_transport 2023-01-03 14:30:24 +08:00
gaowenju 77f76b48d6 feat: add ALPN support for stream-based server 2023-01-03 11:58:19 +08:00
Xuran 49eead8afc
fix: TestOnPrePare race (#501) 2022-12-30 15:41:11 +08:00
gaowenju 1c51d4ebc3 test: add ut for CopyToHertzRequest && fix comments 2022-12-28 20:53:53 +08:00
gaowenju 3a11d1ab81 feat: add a way to set alt-svc header for other protocol 2022-12-28 20:43:43 +08:00
gaowenju 5c93ee70f3 feat: add WithAltTransporter option for parallel monitoring 2022-12-28 20:43:43 +08:00
gaowenju f34912c174 feat: add adapt api for request transforming 2022-12-28 20:43:43 +08:00
gaowenju 6118b2dc8d refactor: server stab && implementation for stream-based protocol server 2022-12-28 20:43:43 +08:00
gaowenju 8448a6c606 feat: add network layer support for stream-like interface 2022-12-28 20:43:40 +08:00
wang tingshun 90ec728db0
feat: add ResponseHeader.contentEncoding (#456)
Co-authored-by: GuangyuFan <97507466+FGYFFFF@users.noreply.github.com>
2022-12-28 19:48:57 +08:00
Xuran 495f1ae954
optimize: prevent hostclient observation resource leak (#499) 2022-12-28 16:38:34 +08:00
kinggo 1b9a45e7ae
fix(hz): validate ".hz" failed when specify the "out_dir" flag (#497) 2022-12-27 20:37:30 +08:00
Xuran f4419138c7
feat: distinguish poolConnNum and totalConnNum, add closed field (#493) 2022-12-27 17:57:42 +08:00
Xuran b3098118d0
feat: improve observability of hostclient (#380) 2022-12-26 15:04:34 +08:00
Asterisk L. Yuan ebdd2f788c
ci: automatically skip when there is a label except `invalid issue` (#490) 2022-12-26 14:22:42 +08:00
kinggo ce6ab7284f
optimize: add WithDialFunc for client (#447)
Co-authored-by: GuangyuFan <97507466+FGYFFFF@users.noreply.github.com>
2022-12-22 19:06:37 +08:00
kinggo a7a3fc0c80
feat(hz): support customTemplatefile and divide method when use custom package layout (#468)
Co-authored-by: GuangyuFan <97507466+FGYFFFF@users.noreply.github.com>
2022-12-22 11:20:17 +08:00
springrain 2bc259103f
optimize: Add the server.WithBasePath function (#303)
Co-authored-by: kinggo <lilong.21@bytedance.com>
2022-12-21 11:36:34 +08:00
GuangyuFan 257685e8ff
feat(hz): hz generate client (#471) 2022-12-21 10:46:09 +08:00
Asterisk L. Yuan f0733731b2
ci: add `Question` issue template and improve ci about invalid question. (#478) 2022-12-20 20:36:58 +08:00
kinggo 7895df7682
optimize: support SetCustomFormValueFunc to define custom ctx.FormValue (#473)
Co-authored-by: GuangyuFan <97507466+FGYFFFF@users.noreply.github.com>
2022-12-17 12:22:51 +08:00
Xuran fefa4e1d1b
feat: add transporter config (#454) 2022-12-14 14:13:39 +08:00
Pure White 5e1f1b4994
chore: fix CODEOWNERS team name 2022-12-14 11:29:21 +08:00
Pure White 251a11abce
chore: add CODEOWNERS 2022-12-13 21:05:17 +08:00
gityh2021 bcedb134e7
test: add new test cases for pkg/protocol/multipart.go (#416) 2022-12-12 17:13:54 +08:00
raymonder jin c7268c65cb
test: add tests for pkg/app/server/registry (#457) 2022-12-12 14:26:01 +08:00