Add nonProxyHosts to ProxyConfiguration
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- java
- Área
- api, backend, networking
Línea de trabajo
Comienza localizando ProxyConfiguration y ClientConfigurations, y luego sigue cómo ProxySelector pasa por la capa Dialogue hasta los clientes HTTP subyacentes. Revisa la configuración de proxy existente y el comportamiento de la API antes de resolver las interacciones entre el formato de lista, las reglas de coincidencia, CIDR, SOCKS, mesh y la actualización de DNS. La tarea estará terminada cuando se puedan configurar hosts sin proxy y las solicitudes coincidentes omitan el proxy sin romper las configuraciones existentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
There isn't currently a way to specify non-proxy hosts for conjure generated clients. This is an FR to add a configuration field for explicitly configuring no-proxy hosts (separate from #3166, which would pull from environment)
Add a new nonProxyHosts field to ProxyConfiguration, and change ClientConfigurations to produce a new ProxySelector that matches on the provided non-proxy hosts in order to determine whether to indicate passthrough or proxy. Since the ProxySelector is passed through the Dialogue layer to the underlying hc clients, no modifications should be needed for https outside c-j-r and the associated api.
While this should be a straightforward change, there are a number of things to discuss:
- How should backcompat and rollout be handled? Since this is an additive change, it will not break compat with existing configuration. However, if a service were to have picked up non-proxy-hosts configuration via discovery and then roll back to a non-supported version, the proxy settings could either silently break or error out.
- The first use cases will be with static non-proxy hosts that are introduced programmatically, which makes this a bit less of a concern.
- Should the nonProxyHosts be a List or a String?
- Using a List would be less confusing for end users, and would elide discussion around whether the string should be delimited by commas (no_proxy envvar) or pipe characters (java).
- Should CIDR blocks be supported?
- Initial implementation could just not support this and error out instead.
- Should domain suffix matching require explicit asterisks like in the Java case?
- It would probably make more sense to make this behave more like the no-proxy envvar and suffix match even without wildcards.
- How should socks proxies and mesh be handled?
- The best option might be to error out on configurations with a socks proxy or mesh is used with nonProxyHosts.
Some further investigation is required to determine how no-proxy will interact with Dialogue's custom DNS refreshing. Initial impression is that it should work with hostnames, but it probably won't work with IPs matching resolved hostnames (instead of other IPs), since the DNS resolution happens after the ProxySelector callback.
- Lenguaje dominante
- Java
- Estrellas
- 96
- Forks
- 95
- Merge medio
- 8 min
- PR fusionados (30 d)
- 55
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 palantir/conjure-java-runtime
-
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
palantir/conjure-java-runtime#3166 ·
Los mantenedores suelen responder en 1 día
-
Support duration based retriesAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
palantir/conjure-java-runtime#2490 · 3 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
palantir/conjure-java-runtime#2248 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
palantir/conjure-java-runtime#2131 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
palantir/conjure-java-runtime#1882 · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de palantir/conjure-java-runtime
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 3 días
-
A proxy that fails to start logs a RejectedExecutionException stack trace from its shutdown hookAbiertofollow-up
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Sanne/incus-spawn#1953 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
atlassian/data-center-helm-charts#1170 ·
Los mantenedores suelen responder en 1 día
-
Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Issue: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
OpenAPITools/openapi-generator#25524 ·
Los mantenedores suelen responder en 1 día