cloudwego / cloudwego/volo

Plans for Volo-HTTP 0.3

Open
#469 1 comment 6 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.6k
Forks
223
Avg merge
18m
Merged PRs (30d)
1

Description

It is expected that the remaining requirements for v0.2.x will be completed this month, ref: #355

And development of v0.3.0 will begin next month.

## Big Changes

### Server

- [x] Support HTTP/2 (through `hyper_util::server::conn::auto`)
- (It was delayed because we really needed `set_max_headers` but it was not done while we were developing Volo-HTTP v0.2.0)
- #573
- #574
- [x] Support connection upgrades (for WebSocket and Tunnel and more)
- #481

### Client

- [x] Refactor Client and make it more easier to use, in other words:
- [x] Less `Result` with `unwrap`
- #509
- [x] More friendly interfaces (`#[cfg(...)]` in params of function is too ugly)
- #528
- [x] Support connection pool
- `hyper::client` doesn't support connection pooling, and `hyper_util::client::legacy` isn't extensible enough (e.g. we support unix domain sockets now, shared memory ipc will be supported in the future, and we also support custom service discovery. Although these can work with the legacy client, it would be too complicated and ugly to do so).
- Thus, we must implement it in `volo`
- #574

## Small Changes

- [x] WebSocket (server)
- #481
- [ ] Tunnel (server)
- [x] Adjust positions of modules
- #499

## Utilities

- [ ] Bench in GitHub CI

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.