124 releases
| new 0.15.3-dev-192.0 | Mar 6, 2026 |
|---|---|
| 0.15.0 | Feb 10, 2026 |
| 0.13.0-kstrand.2 | Dec 18, 2025 |
| 0.12.10 | Nov 24, 2025 |
| 0.2.7 | Oct 27, 2022 |
#311 in Authentication
7,654 downloads per month
Used in 2 crates
605KB
12K
SLoC
qcs-api-client-grpc
This crate provides an autogenerated gRPC client for the QCS API, along with helper utilities for automatically loading credentials from a user's QCS config and keeping authentication tokens refreshed.
get_channel: create aChannelto the given gRPC endpoint with QCS authentication automatically set up, that routes requests through client-side HTTP, HTTPS, or SOCKS5 proxies based on the presence ofHTTPS_PROXYorHTTP_PROXYenvironment variables.wrap_channel: wrap an existingChannelwith QCS authentication.
Quick Start
See docs.rs for a quick start guide.
Proxies
The get_channel function configures the returned Channel to route requests through a client proxy
based on the presence of environment variables HTTPS_PROXY and/or HTTP_PROXY. The variable names can be
all-uppercase or all-lowercase, but the all-uppercase variants will take precedence.
Currently, the supported proxy schemes are http, https, and socks5.
There are some caveats to the proxy configuration:
- If both variables are defined, neither can be a
socks5proxy, unless they are both the same value. - If only one variable is defined, and it is a
socks5proxy, all traffic will routed through it.
Tracing
This crates also supports tracing via tower_http::trace. It additionally customizes spans according
to OpenTelemetry gRPC semantic conventions.
This functionality is available using the "tracing" feature. The "tracing-opentelemetry" feature extends capabilities by supporting dynamically configured span attributes (such as "rpc.grpc.request.metadata.") and context propagation. See qcs_api_client_common for configuration details.
Dependencies
~29–51MB
~714K SLoC