`Connection` doesn't offer any way to iterate its contents
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Start with the headers::Connection API and its private AsConnectionOption type, then inspect how HeaderMap is expected to support removing referenced headers. Define how callers can iterate the connection options and access the option type, and add coverage showing that the contents can be inspected for gateway processing.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The Connection header lets me test if it contains specific "connection options"[^1] are contained in it. But it doesn't let me actually iterate its contents to see what it contains.
This is very frustrating as I need to actually know what's in the header because I'm implementing a gateway and I need to strip the referenced header names from the request I'm proxying. I would really like to be able to use headers::Connection so I don't have to worry about parsing the comma-separated list myself.
In theory I could just parse the header and then walk the whole headers map and compare each entry to the Connection, except HeaderMap does not offer a retain() operation and so that approach would require reallocating the whole map even if I don't end up making any changes.
[^1]: This is represented as a private impl AsConnectionOption type, which means it's undocumented. Really that should be changed so AsConnectionOption is public and simply inherits from a sealed trait, so the generated docs will at least tell me what implements it. Or maybe change it to use impl AsRef<str> instead, or even impl AsRef<[u8]> as that supports the required comparison too.
- Lenguaje dominante
- Rust
- Estrellas
- 200
- Forks
- 108
- Merge medio
- 3 d 2 h
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 hyperium/headers
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Range::bytes and ContentRange::bytes do unchecked u64 arithmetic on boundsPosiblemente ocupada @youdie006 la tomó hace 60 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
-
From<SystemTime> for HttpDate panics on times before 1970 or after year 9999Posiblemente ocupada @SAY-5 la tomó hace 79 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Link supportAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
Todos los issues de hyperium/headers
Issues similares
-
Add MimirAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
slavakurilyak/awesome-ai-agents#759 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
compiler-explorer/compiler-explorer#9272 ·
Los mantenedores suelen responder en 1 día
-
Trash, bin or rubbish?Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 63/100
pop-os/cosmic-files#2117 ·
Los mantenedores suelen responder en 2 días
-
L: java:gradle L: java:maven L: ruby:bundler T: bug 🐞
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
dependabot/dependabot-core#16547 ·
Los mantenedores suelen responder en 1 día
-
bug status:ready-for-test
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
UniClipboard/UniClipboard#1985 · 1 comentario ·
Los mantenedores suelen responder en 1 día