@@ -187,78 +187,78 @@ public sealed class TurboClientOptions
187187
188188### Connection options
189189
190- | Property | Default | Description |
191- | ---| ---| ---|
192- | ` BaseAddress ` | ` null ` | Base URI for relative requests |
193- | ` ConnectTimeout ` | ` 15 s ` | TCP/QUIC connection timeout |
194- | ` PooledConnectionIdleTimeout ` | ` 90 s ` | How long idle connections are kept in the pool |
195- | ` PooledConnectionLifetime ` | ` infinite ` | Maximum lifetime of a pooled connection |
196- | ` MaxEndpointSubstreams ` | ` 256 ` | Max concurrently active endpoint substreams |
190+ | Property | Default | Description |
191+ | ----------------------------- | ---------- | ---------------------------------------------- |
192+ | ` BaseAddress ` | ` null ` | Base URI for relative requests |
193+ | ` ConnectTimeout ` | ` 15 s ` | TCP/QUIC connection timeout |
194+ | ` PooledConnectionIdleTimeout ` | ` 90 s ` | How long idle connections are kept in the pool |
195+ | ` PooledConnectionLifetime ` | ` infinite ` | Maximum lifetime of a pooled connection |
196+ | ` MaxEndpointSubstreams ` | ` 256 ` | Max concurrently active endpoint substreams |
197197
198198Per-version connection limits are configured on the nested options objects:
199199
200- | Property | Default | Description |
201- | ---| ---| ---|
202- | ` Http1.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent HTTP/1.x connections per host |
203- | ` Http1.MaxPipelineDepth ` | ` 16 ` | Max pipelined requests per HTTP/1.1 connection |
204- | ` Http2.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent HTTP/2 connections per host |
205- | ` Http2.MaxConcurrentStreams ` | ` 100 ` | Max concurrent streams per HTTP/2 connection |
206- | ` Http3.MaxConnectionsPerServer ` | ` 4 ` | Max concurrent QUIC connections per host |
200+ | Property | Default | Description |
201+ | ------------------------------- | ------- | ---------------------------------------------- |
202+ | ` Http1.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent HTTP/1.x connections per host |
203+ | ` Http1.MaxPipelineDepth ` | ` 16 ` | Max pipelined requests per HTTP/1.1 connection |
204+ | ` Http2.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent HTTP/2 connections per host |
205+ | ` Http2.MaxConcurrentStreams ` | ` 100 ` | Max concurrent streams per HTTP/2 connection |
206+ | ` Http3.MaxConnectionsPerServer ` | ` 4 ` | Max concurrent QUIC connections per host |
207207
208208See [ Connection Pooling guide] ( /guide/connection-pooling ) for pool lifecycle details.
209209
210210### HTTP/1.x options
211211
212- | Property | Default | Description |
213- | ---| ---| ---|
214- | ` Http1.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent TCP connections per host |
215- | ` Http1.MaxPipelineDepth ` | ` 16 ` | Max pipelined requests per connection |
216- | ` Http1.MaxBatchWeight ` | ` 65536 ` (64 KiB) | Max batch weight for request encoding |
217- | ` Http1.MaxResponseHeadersLength ` | ` 64 ` (KB) | Max response header size |
218- | ` Http1.MaxReconnectAttempts ` | ` 3 ` | Max reconnect attempts on connection drop |
219- | ` Http1.MaxResponseDrainSize ` | ` 1048576 ` (1 MB) | Max bytes to drain from incomplete response |
220- | ` Http1.ResponseDrainTimeout ` | ` 2 s ` | Timeout for draining incomplete response body |
212+ | Property | Default | Description |
213+ | -------------------------------- | ---------------- | --------------------------------------------- |
214+ | ` Http1.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent TCP connections per host |
215+ | ` Http1.MaxPipelineDepth ` | ` 16 ` | Max pipelined requests per connection |
216+ | ` Http1.MaxBatchWeight ` | ` 65536 ` (64 KiB) | Max batch weight for request encoding |
217+ | ` Http1.MaxResponseHeadersLength ` | ` 64 ` (KB) | Max response header size |
218+ | ` Http1.MaxReconnectAttempts ` | ` 3 ` | Max reconnect attempts on connection drop |
219+ | ` Http1.MaxResponseDrainSize ` | ` 1048576 ` (1 MB) | Max bytes to drain from incomplete response |
220+ | ` Http1.ResponseDrainTimeout ` | ` 2 s ` | Timeout for draining incomplete response body |
221221
222222### HTTP/2 options
223223
224- | Property | Default | Description |
225- | ---| ---| ---|
226- | ` Http2.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent TCP connections per host |
227- | ` Http2.MaxConcurrentStreams ` | ` 100 ` | Max concurrent streams per connection |
228- | ` Http2.InitialConnectionWindowSize ` | ` 67108864 ` (64 MB) | Connection-level flow control window |
229- | ` Http2.InitialStreamWindowSize ` | ` 65535 ` | Per-stream flow control window |
230- | ` Http2.MaxFrameSize ` | ` 16384 ` (16 KiB) | Max frame payload size |
231- | ` Http2.HeaderTableSize ` | ` 4096 ` | HPACK dynamic table size |
232- | ` Http2.MaxBatchWeight ` | ` 262144 ` (256 KiB) | Max batch weight for frame encoding |
233- | ` Http2.MaxReconnectAttempts ` | ` 3 ` | Max reconnect attempts on connection drop |
234- | ` Http2.KeepAlivePingDelay ` | ` infinite ` | Delay before sending keep-alive PING |
235- | ` Http2.KeepAlivePingTimeout ` | ` 20 s ` | Timeout for PING acknowledgment |
236- | ` Http2.KeepAlivePingPolicy ` | ` Always ` | When to send keep-alive PINGs |
224+ | Property | Default | Description |
225+ | ----------------------------------- | ------------------ | ----------------------------------------- |
226+ | ` Http2.MaxConnectionsPerServer ` | ` 6 ` | Max concurrent TCP connections per host |
227+ | ` Http2.MaxConcurrentStreams ` | ` 100 ` | Max concurrent streams per connection |
228+ | ` Http2.InitialConnectionWindowSize ` | ` 67108864 ` (64 MB) | Connection-level flow control window |
229+ | ` Http2.InitialStreamWindowSize ` | ` 65535 ` | Per-stream flow control window |
230+ | ` Http2.MaxFrameSize ` | ` 16384 ` (16 KiB) | Max frame payload size |
231+ | ` Http2.HeaderTableSize ` | ` 4096 ` | HPACK dynamic table size |
232+ | ` Http2.MaxBatchWeight ` | ` 262144 ` (256 KiB) | Max batch weight for frame encoding |
233+ | ` Http2.MaxReconnectAttempts ` | ` 3 ` | Max reconnect attempts on connection drop |
234+ | ` Http2.KeepAlivePingDelay ` | ` infinite ` | Delay before sending keep-alive PING |
235+ | ` Http2.KeepAlivePingTimeout ` | ` 20 s ` | Timeout for PING acknowledgment |
236+ | ` Http2.KeepAlivePingPolicy ` | ` Always ` | When to send keep-alive PINGs |
237237
238238### HTTP/3 options
239239
240- | Property | Default | Description |
241- | ---| ---| ---|
242- | ` Http3.MaxConnectionsPerServer ` | ` 4 ` | Max concurrent QUIC connections per host |
243- | ` Http3.QpackMaxTableCapacity ` | ` 4096 ` | QPACK dynamic table size |
244- | ` Http3.QpackBlockedStreams ` | ` 100 ` | Max streams blocked waiting for QPACK |
245- | ` Http3.MaxFieldSectionSize ` | ` 65536 ` (64 KiB) | Max header block size |
246- | ` Http3.IdleTimeout ` | ` 30 s ` | QUIC idle timeout |
247- | ` Http3.MaxReconnectAttempts ` | ` 3 ` | Max reconnect attempts on connection drop |
248- | ` Http3.AllowEarlyData ` | ` false ` | Allow QUIC 0-RTT early data |
249- | ` Http3.AllowConnectionMigration ` | ` true ` | Allow QUIC connection migration |
250- | ` Http3.AllowServerPush ` | ` false ` | Allow server push via PUSH_PROMISE |
251- | ` Http3.MaxBatchWeight ` | ` 262144 ` (256 KiB) | Max batch weight for frame encoding |
252- | ` Http3.EnableAltSvcDiscovery ` | ` false ` | Auto-discover HTTP/3 via Alt-Svc headers |
240+ | Property | Default | Description |
241+ | -------------------------------- | ------------------ | ----------------------------------------- |
242+ | ` Http3.MaxConnectionsPerServer ` | ` 4 ` | Max concurrent QUIC connections per host |
243+ | ` Http3.QpackMaxTableCapacity ` | ` 4096 ` | QPACK dynamic table size |
244+ | ` Http3.QpackBlockedStreams ` | ` 100 ` | Max streams blocked waiting for QPACK |
245+ | ` Http3.MaxFieldSectionSize ` | ` 65536 ` (64 KiB) | Max header block size |
246+ | ` Http3.IdleTimeout ` | ` 30 s ` | QUIC idle timeout |
247+ | ` Http3.MaxReconnectAttempts ` | ` 3 ` | Max reconnect attempts on connection drop |
248+ | ` Http3.AllowEarlyData ` | ` false ` | Allow QUIC 0-RTT early data |
249+ | ` Http3.AllowConnectionMigration ` | ` true ` | Allow QUIC connection migration |
250+ | ` Http3.AllowServerPush ` | ` false ` | Allow server push via PUSH_PROMISE |
251+ | ` Http3.MaxBatchWeight ` | ` 262144 ` (256 KiB) | Max batch weight for frame encoding |
252+ | ` Http3.EnableAltSvcDiscovery ` | ` false ` | Auto-discover HTTP/3 via Alt-Svc headers |
253253
254254### TLS options
255255
256- | Property | Default | Description |
257- | ---| ---| ---|
258- | ` DangerousAcceptAnyServerCertificate ` | ` false ` | Skip all certificate validation — dev/test only |
259- | ` ServerCertificateValidationCallback ` | Accept valid certs | Custom TLS certificate validation |
260- | ` ClientCertificates ` | ` null ` | Client certificates for mutual TLS |
261- | ` EnabledSslProtocols ` | ` SslProtocols.None ` (OS default) | TLS protocol versions to permit |
256+ | Property | Default | Description |
257+ | ------------------------------------- | -------------------------------- | ----------------------------------------------- |
258+ | ` DangerousAcceptAnyServerCertificate ` | ` false ` | Skip all certificate validation — dev/test only |
259+ | ` ServerCertificateValidationCallback ` | Accept valid certs | Custom TLS certificate validation |
260+ | ` ClientCertificates ` | ` null ` | Client certificates for mutual TLS |
261+ | ` EnabledSslProtocols ` | ` SslProtocols.None ` (OS default) | TLS protocol versions to permit |
262262
263263``` csharp
264264// Mutual TLS with a client certificate
@@ -389,12 +389,12 @@ See [Content Encoding guide](/guide/content-encoding) for request compression an
389389
390390These types are part of the public API and can be customized via the builder extensions:
391391
392- | Type | Purpose | Guide |
393- | ---| ---| ---|
394- | ` CookieJar ` | Cookie storage and injection — provided via ` .WithCookies() ` | [ Cookies] ( /guide/cookies ) |
395- | ` CacheStore ` | In-memory LRU cache backend — provided via ` .WithCache(store) ` | [ Caching] ( /guide/caching ) |
396- | ` RedirectHandler ` | Built-in HTTP redirect handling — controlled via ` .WithRedirect() ` | [ Redirects] ( /guide/redirects ) |
397- | ` RetryEvaluator ` | Built-in idempotent method retry — controlled via ` .WithRetry() ` | [ Retries] ( /guide/retries ) |
398- | ` TurboHandler ` | Custom request/response middleware — registered via ` .AddHandler<T>() ` | [ Extending the Pipeline] ( /architecture/extending ) |
392+ | Type | Purpose | Guide |
393+ | ----------------- | ---------------------------------------------------------------------- | ------------------------------------------------- |
394+ | ` CookieJar ` | Cookie storage and injection — provided via ` .WithCookies() ` | [ Cookies] ( /guide/cookies ) |
395+ | ` CacheStore ` | In-memory LRU cache backend — provided via ` .WithCache(store) ` | [ Caching] ( /guide/caching ) |
396+ | ` RedirectHandler ` | Built-in HTTP redirect handling — controlled via ` .WithRedirect() ` | [ Redirects] ( /guide/redirects ) |
397+ | ` RetryEvaluator ` | Built-in idempotent method retry — controlled via ` .WithRetry() ` | [ Retries] ( /guide/retries ) |
398+ | ` TurboHandler ` | Custom request/response middleware — registered via ` .AddHandler<T>() ` | [ Extending the Pipeline] ( /architecture/extending ) |
399399
400400See the [ Configuration guide] ( /guide/configuration ) and [ Extending the Pipeline] ( /architecture/extending ) for integration patterns.
0 commit comments