Basic WebSocket Client Support in CLI
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
- python
- Área
- cli, networking
Línea de trabajo
El issue no menciona archivos, pruebas ni puntos de entrada. Empieza localizando el despacho de esquemas de URL de la CLI y las rutas existentes de conexión y manejo de errores; después, sigue cómo se envía una solicitud y cómo se imprime su respuesta. Se considera terminado cuando ws:// y wss:// aceptan un mensaje de texto, imprimen un frame de respuesta, gestionan los fallos indicados y terminan limpiamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Checklist
- I've searched for similar feature requests.
Enhancement request
Add Basic WebSocket Client Support (ws://, wss://)
Introduce minimal WebSocket support to HTTPie CLI, allowing users to:
- Connect to a
ws://orwss://endpoint - Send a single text message via CLI argument
- Receive and print one response frame
- Exit cleanly
When a WebSocket scheme is detected, the CLI should establish a WebSocket connection instead of performing an HTTP request.
Example usage:
http ws://echo.websocket.events message="hello"
Expected behavior:
- Establish WebSocket connection
- Send the provided message as a text frame
- Print the first received text frame
- Exit successfully
Basic error handling should cover:
- Invalid WebSocket URLs
- TLS errors (
wss://) - Connection timeouts
- Unsupported/binary frames
This feature is intentionally scoped to provide minimal, non-interactive WebSocket testing support.
Problem it solves
I'm frequently testing APIs that expose both HTTP and WebSocket endpoints. While HTTPie works well for HTTP/HTTPS requests, I need to switch to another tool when validating WebSocket behavior.
I’m trying to test real-time endpoints quickly from the terminal so that I can verify message flow without leaving my CLI workflow.
Adding minimal WebSocket support would:
- Reduce context switching
- Improve developer productivity
- Make HTTPie more versatile for modern API development
Additional information, screenshots, or code examples
Proposed Scope Constraints
To keep the implementation focused and maintainable:
- No interactive REPL mode
- No continuous streaming session
- No advanced protocol extensions
- Single-message request/response flow only
Future enhancements (if needed) could extend this to streaming or interactive mode.
I would be happy to work on this enhancement and submit a pull request if the maintainers agree with the proposed scope.
- Lenguaje dominante
- Python
- Estrellas
- 38.6k
- Forks
- 4k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 httpie/cli
-
new
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug new
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
argparser.py: HTTPieArgumentParser has high cyclomatic complexity and mixed responsibilities Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Todos los issues de httpie/cli
Issues similares
-
bug priority:low
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
CyberAgent/psd2svg#436 ·
-
area/install-update comp/cli comp/desktop P3 sweeper:risk-compatibility type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
NousResearch/hermes-agent#122386 · 1 comentario ·
-
ai-generated
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vllm-project/production-stack#1105 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100