Add per-request DNS override API (curl --resolve / OkHttp Dns-style)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- swift
- Área
- networking
Línea de trabajo
Comienza leyendo HTTPClient.Configuration.dnsOverride y las API execute existentes mencionadas en el issue. Determina cómo un mapeo o resolver por solicitud llegaría al establecimiento de la conexión preservando el host original para SNI, la validación de certificados y el logging. Se considera terminado cuando un cliente puede emitir solicitudes con overrides cambiantes sin recrear su connection pool.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Swift
- Estrellas
- 1.1k
- Forks
- 157
- Merge medio
- 1 h 54 min
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de swift-server/async-http-client
-
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
-
Invalid state: idleAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
swift-server/async-http-client#927 · 2 comentarios ·
-
Windows versionAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
swift-server/async-http-client#923 · 1 comentario ·
-
Crash in `HTTP2ClientRequestHandler`Posiblemente ocupada @rupayon123 la tomó hace 14 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
Todos los issues de swift-server/async-http-client
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
type: cleanup
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
googleapis/google-cloud-swift#1477 ·
Los mantenedores suelen responder en 1 día
-
🐛 Bug Report: Console `/join` shows an endless spinner for invited users who are not signed inAbiertoproduct / auth product / console product / databases product / messaging product / self-hosted product / sites product / storage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
P1 status: first-line-handled status: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
a2ui-project/a2ui#3282 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
"Create account" opens the MAS sign-in page instead of sign-up (always sends prompt=consent)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
element-hq/element-x-ios#6357 ·
Los mantenedores suelen responder en 1 día