Releases: mccutchen/go-httpbin
Releases · mccutchen/go-httpbin
v2.11.0
What's Changed
- Add tests for correct handling of Expect: 100-continue by @mccutchen in #138
- Allow filtering incoming request headers using
-exclude-headers
/EXCLUDE_HEADERS
by @bytemain in #139
New Contributors
Full Changelog: v2.10.0...v2.11.0
v2.10.0
What's Changed
- Improve /drip semantics by @mccutchen in #132
- Standardize common content types by @mccutchen in #134
- Improve and standardize error handling by @mccutchen in #135
- Consistently parse and validate user-provided status codes by @mccutchen in #137
- Major test suite overhaul in #131 and #133
⚠️ Response format changes ⚠️
- The behavior of the
/drip
endpoint has been adjusted slightly. In particular, the endpoint now waits until after the initial delay to start the response (i.e. write the status code), rather than starting the response immediately and then waiting for the initial delay to write the body. - The standard Content-Type used for JSON responses has been changed from the non-standard
application/json; encoding=utf-8
to the standardapplication/json; charset=utf-8
- Error responses generated by go-httpbin itself (e.g. due to invalid input) are returned as structured JSON:
{ "status_code": 400, "error": "Bad Request", "detail": "invalid status code: 1024 not in range [100, 599]" }
Full Changelog: v2.9.2...v2.10.0
v2.9.2
What's Changed
- fix: include Transfer-Encoding when echoing request headers by @mccutchen in #130
Full Changelog: v2.9.1...v2.9.2
v2.9.1
v2.9.0
What's Changed
- feat: add method property to responses by @llimllib in #123
- fix: don't update Data when body is empty by @llimllib in #125
⚠️ Response format changes ⚠️
To improve compatibility with the original httpbin.org implementation:
- Endpoints that return metadata about the incoming HTTP request now include the request method
- Endpoints that return a
data
field containing the incoming HTTP request's body will now return an empty string for requests with empty bodies
New Contributors
Full Changelog: v2.8.0...v2.9.0
v2.8.0
What's Changed
- fix: correctly handle padded base64 input by @mccutchen in #119
⚠️ Response format changes ⚠️
As of #119, the /base64
endpoint:
- Properly handles padded inputs instead of returning trailing null bytes (see #118)
- Only accepts and returns URL-safe base64 encodings instead of standard base64 encodings, to match the original httpbin's behavior
Full Changelog: v2.7.0...v2.8.0
v2.7.0
What's Changed
- Build & CI updates by @mccutchen in #116
- Encode binary request bodies as bas64 data URLs by @gab1one #117
⚠️ Response format changes ⚠️
As of #117, the incoming request body for the /post
, /put
(etc) endpoints will be returned as a base64-encoded data:
URL to match the original httpbin's behavior.
Before
$ curl -sSL --data-binary @tiny.gif -H "Content-Type: image/gif" https://httpbingo.org/post | jq .data
"GIF89a\u0001\u0000\u0001\u0000�\u0000\u0000���\u0000\u0000\u0000!�\u0004\u0001\u0000\u0000\u0000\u0000,\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0000\u0002\u0002D\u0001\u0000;"
After
$ curl -sSL --data-binary @tiny.gif -H "Content-Type: image/gif" localhost:8080/post | jq .data
"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="
New Contributors
Full Changelog: v2.6.0...v2.7.0
v2.6.0
v2.5.6
What's Changed
- build: upgrade go to 1.20 by @rarkebauer in #111
New Contributors
- @rarkebauer made their first contribution in #111
Full Changelog: v2.5.5...v2.5.6
v2.5.5
What's Changed
- ci: update codecov action by @mccutchen in #110
- feat: add /dump/request endpoint by @chinaran in #109
Full Changelog: v2.5.4...v2.5.5