swagger-api / swagger-api/swagger-ui
Curl Acts Different Then On Page Try it for header string with pipe in it
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 29k
- Forks
- 9.3k
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 25
Description
Q&A (please complete the following information)
- OS: Windows 10
- Browser: chrome
- Version: 68.0.3440.106
- Method of installation: Swashbuckle
- Swagger-UI version:
- Swagger/OpenAPI version: Swagger 2.0
Content & configuration
I have configured swashbuckle to attach a json header to every request

How can we help?
When I use the "Try it out" feature it works as expected and I see my browser sending the json out in the header:

When I try to copy and paste the curl command to my Cygwin bash for git for windows I see that the pipe in the header was not properly escaped so the command fails:
curl -X GET "http://localhost:26419/api/Widget/{id}" -H "accept: application/json" -H "CUSTOM_HEADER: [{"Type":"PIPE|test","Value":"value"},{"Type":"test2","Value":"value2"}]"

Is it fair to think that the UI should escape the header value for anything bash may miss-interpret so that the experience between the "Try it out" and curl is the same?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start from Swagger UI's generated curl command in the Try it out flow and reproduce the issue with a header value containing a pipe, using the command shown in the report. Done means the copied command preserves the header value and behaves like the in-page request in Cygwin bash.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, javascript
- Domain
- api, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100