Generated multipart curl doesn't escape characters of form data fields
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- typescript
- Domínio
- tooling
Direção de pesquisa
Comece localizando o código TypeScript que gera snippets de curl multipart e reproduza o uso de maiúsculas e minúsculas do campo XML mostrado. Atualize o argumento form-data gerado para que os caracteres de aspas incorporados sejam escapados e, em seguida, verifique se a requisição curl resultante é bem-sucedida e adicione ou atualize a cobertura caso o repositório tenha um teste relevante.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Related with https://github.com/Kong/insomnia/issues/3868
As of now we are not escaping double-quote characters that are in data fields of curl requests. This causes the curl request to fail.
Example generated curl:
curl --request GET \
--url http://mockbin.org/request/anything \
--header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
--form timestamp=2022-05-10T10:04:18.748Z \
--form field=test \
--form 'data=<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<test>TEST<test>'
This doesn't seem to be the case for example for Python, where we escape characters we need to, and the request works fine:
import requests
url = "http://mockbin.org/request/anything"
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"timestamp\"\r\n\r\n2022-05-10T10:07:25.650Z\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"field\"\r\n\r\ntest\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"data\"\r\n\r\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<test>TEST<test>\r\n-----011000010111000001101001--\r\n"
headers = {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}
response = requests.request("GET", url, data=payload, headers=headers)
print(response.text)
Example postman generated curl:
curl --location --request POST 'https://test.com' \
--form 'timestamp="2021-07-14T01:02:34.567Z"' \
--form 'field="test"' \
--form 'data="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<test>TEST<test>"'
- Linguagem predominante
- TypeScript
- Estrelas
- 1.2k
- Forks
- 241
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
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 Kong/httpsnippet
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 62/100
Kong/httpsnippet#356 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Kong/httpsnippet#389 ·
-
Support for Oracle APEXAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Kong/httpsnippet#383 ·
-
Bug: R Code Generation Does Not Quote Parameters with Special Characters (e.g., `codes[]`)Talvez já em andamento @abansal21 assumiu há 450 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Kong/httpsnippet#379 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
Kong/httpsnippet#370 ·
Todas as issues de Kong/httpsnippet
Issues semelhantes
-
refactor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
tomnewport/memprot-topo#55 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
WalletConnect/walletconnect-monorepo#7368 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
BU-Spark/se-chem-apll#47 ·
-
embed: handleTurboSignMessage header comment says the signing page posts to '*' (it never does)Abertadocumentation
Dificuldade 2/5 Menos de uma hora Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 Meio dia Facilidade para iniciantes 70/100
udistrital/paginaweb_root#23 ·