Skip to content

Commit

Permalink
Full http in Rust support, remove httpx (#7927)
Browse files Browse the repository at this point in the history
Makes use of HttpClient throughout the entire server process:

 - Auth
 - AI extension (incl. SSE)
 - std::net::http

Notes:
 - `httpx` is no longer a dep (kept as a dev-dependency)
 - Uses an `EdgeDB ${version}` User-Agent for all HTTP requests
- All HTTP requests are subject to `http_max_connections` config option.
This option is refreshed from the std::net worker.
 - SSE supports backpressure, and queue is fixed at 100 messages for now
- Streaming and non-streaming requests use separate APIs to simplify the
implementation
- One thread per tenant is used if HTTP is required (we boot this thread
only when needed). Eventually we'll move to a one-runtime-per-tenant and
this thread will disappear.
  • Loading branch information
mmastrac authored Oct 31, 2024
1 parent f7e4758 commit 63e6fc4
Show file tree
Hide file tree
Showing 13 changed files with 1,038 additions and 255 deletions.
80 changes: 46 additions & 34 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 63e6fc4

Please sign in to comment.