Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add per-request DNS override API (curl --resolve / OkHttp Dns-style)

Aperta
#866 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di swift-server/async-http-client

Tutte le issue di swift-server/async-http-client

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.