Commit a70a847
authored
fix: return empty data field for empty request bodies (#125)
When a request to `/anything` has an empty body, the `data` field of the
output should be the empty string. Currently, `go-httpbin is returning
`data:application/octet-stream;base64,`.
- Should the output actually be null? That would match `files`, `form`,
and `json`, but also would require deeper changes since `Data` is stored
as a string not a pointer, and I didn't want to mess with things any
more than I had to. An empty string works fine for my purposes
- how can I test this PR? I tried but I got confused by the TestAnything
method
- all the current tests pass under this change
This PR closes #124. Before:
```
$ curl -s 'http://0.0.0.0:8080/anything?one=two'
{
"args": {
"one": [
"two"
]
},
"headers": {
"Accept": [
"*/*"
],
"Host": [
"0.0.0.0:8080"
],
"User-Agent": [
"curl/7.88.1"
]
},
"method": "GET",
"origin": "127.0.0.1:60402",
"url": "http://0.0.0.0:8080/anything?one=two",
"data": "data:application/octet-stream;base64,",
"files": null,
"form": null,
"json": null
}
```
After:
```
$ curl -s 'http://0.0.0.0:8080/anything?one=two'
{
"args": {
"one": [
"two"
]
},
"headers": {
"Accept": [
"*/*"
],
"Host": [
"0.0.0.0:8080"
],
"User-Agent": [
"curl/7.88.1"
]
},
"method": "GET",
"origin": "127.0.0.1:60595",
"url": "http://0.0.0.0:8080/anything?one=two",
"data": "",
"files": null,
"form": null,
"json": null
}
```1 parent 1223a73 commit a70a847
1 file changed
+5
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
129 | 134 | | |
130 | 135 | | |
131 | 136 | | |
| |||
0 commit comments