Attempt to close with local-only codes (e.g. 1006) results in normal close (1000)
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- networking
Direção de pesquisa
Start at src/wsproto/frame_protocol.py lines 576-577 and trace how an attempted close with code 1006 is handled. Confirm the WebSocket protocol's expected behavior for local-only close codes, then define a regression test showing that 1006 is not converted into a normal 1000 closure.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Currently, if you close a websocket with code 1006 (which is not allowed), the result is a 1000-code closure:
https://github.com/python-hyper/wsproto/blob/main/src/wsproto/frame_protocol.py#L576-L577
I suspect this should instead be either a 1002 error or an exception, but I'm not certain.
This resulted in a latent bug in hypercorn (an ASGI web server that uses wsproto) where websockets were closed with code 1000 on internal server errors:
https://github.com/pgjones/hypercorn/pull/112
- Linguagem predominante
- Python
- Estrelas
- 303
- Forks
- 61
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de python-hyper/wsproto
-
CompressionAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
python-hyper/wsproto#199 · 5 comentários ·
-
Type compatibility with `h11._headers.Header`Talvez já em andamento @gyanu2507 assumiu há 56 dias. Aberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 48/100
python-hyper/wsproto#173 · 1 comentário ·
Todas as issues de python-hyper/wsproto
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
AstrBotDevs/AstrBot#10720 ·
Mantenedores costumam responder em até 1 dia
-
fix(xiaomi): curated picker list still offers six ids that return 400 (plan-limited vs retired)Abertacause/upstream comp/cli P2 provider/other tool/file type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
NousResearch/hermes-agent#143900 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
WLAN-Pi/wlanpi-profiler#341 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
Mantenedores costumam responder em até 1 dia