HubHttpClient class
An http.Client that tunnels requests through the Hub instead of issuing
them from the current process.
The browser client cannot call AI provider APIs directly (CORS), so it routes
each request through ClientRuntime.proxyHttp; the Hub performs the outbound
HTTPS request and returns the response. Because it satisfies the standard
http.Client contract, the existing Anthropic/OpenAI/Gemini providers use it
unchanged via providerFor(config, HubHttpClient(...)).
When credentialMode is HttpProxyCredentialMode.hubDefault the Hub injects
its own key for provider (the request need not carry one); otherwise the
request — including whatever Authorization/x-api-key header the provider
set from the client-supplied key — is forwarded verbatim.
Constructors
- HubHttpClient(ClientRuntime client, {HttpProxyCredentialMode credentialMode = HttpProxyCredentialMode.none, String? provider})
- Creates a Hub-backed HTTP client.
Properties
- client → ClientRuntime
-
The connected client runtime that brokers the request through the Hub.
final
- credentialMode → HttpProxyCredentialMode
-
Whether the Hub should inject its default credentials.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- provider → String?
-
The provider token, used by the Hub to pick the credential scheme when
credentialMode is
hubDefault.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
close(
) → void - No-op: the shared ClientRuntime/Hub connection outlives this client and must not be torn down when a provider is disposed.
-
delete(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP DELETE request with the given headers to the given URL.
inherited
-
get(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP GET request with the given headers to the given URL.
inherited
-
head(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP HEAD request with the given headers to the given URL.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
patch(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PATCH request with the given headers and body to the given
URL.
inherited
-
post(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP POST request with the given headers and body to the given
URL.
inherited
-
put(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PUT request with the given headers and body to the given
URL.
inherited
-
read(
Uri url, {Map< String, String> ? headers}) → Future<String> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a String.
inherited
-
readBytes(
Uri url, {Map< String, String> ? headers}) → Future<Uint8List> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a list of
bytes.
inherited
-
send(
BaseRequest request) → Future< StreamedResponse> - Sends an HTTP request and asynchronously returns the response.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited