Add per-request DNS override API (curl --resolve / OkHttp Dns-style)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- swift
- Ambito
- networking
Direzione di ricerca
Inizia leggendo HTTPClient.Configuration.dnsOverride e le API execute esistenti menzionate nell’issue. Determina in che modo un mapping o un resolver per richiesta raggiungerebbe la fase di stabilimento della connessione, preservando l’host originale per SNI, la convalida dei certificati e il logging. Il lavoro è completato quando un client può inviare richieste con override variabili senza ricreare il proprio connection pool.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Could you please add support for a per-request DNS override that behaves like curl’s --resolve, or similar to OkHttp’s pluggable Dns interface (which lets you override host→IP
resolution on a per-request basis)? At the moment HTTPClient.Configuration.dnsOverride is the only entry-point, so the mapping is effectively static for the lifetime of a client. In
our workloads the host→IP mapping can change every minute, and paying the cost of creating and shutting down separate HTTPClient instances (each with its own connection pool) just to
apply a new override is prohibitively expensive.
The capability we are looking for is:
- Let a single request supply a temporary host→IP mapping (or a resolver callback).
- Keep using the original host for SNI/certificate validation and logging.
- Route the actual TCP/TLS connection to the overridden address.
If the existing execute APIs exposed an optional per-request override, or allowed callers to provide a resolver closure (akin to overriding OkHttp’s Dns.resolve), we could keep the
default behavior while enabling dynamic overrides. We’d greatly appreciate this enhancement.
- Lingua principale
- Swift
- Stelle
- 1.1k
- Fork
- 156
- Merge medio
- 33m
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di swift-server/async-http-client
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
swift-server/async-http-client#946 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
RequestBag keeps the request body after an early response with status >= 300Forse già presa @beshkenadze l’ha presa 3 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
swift-server/async-http-client#941 ·
I maintainer di solito rispondono entro 1 giorno
-
HTTP/2 stream stays half-closed after an early response with status >= 300Forse già presa @beshkenadze l’ha presa 3 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
swift-server/async-http-client#940 ·
I maintainer di solito rispondono entro 1 giorno
-
Transaction keeps the request body after an early response with status >= 300Forse già presa @beshkenadze l’ha presa 3 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
swift-server/async-http-client#939 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
swift-server/async-http-client#938 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di swift-server/async-http-client
Issue simili
-
a:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
vorssaint/vorssaint-utils#3527 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
rorkai/App-Store-Connect-CLI#3192 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
jellyfin/Swiftfin#2388 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
openclaw/openclaw#183929 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno