new matcher feature, allowing to create a Responder based on net/http.Request content (header or body for example), so not only on method and URL as before. See the following new registering functions & methods:
url.RawPath is used instead of url.Path when checking path alone for consistency with full URL check, which is always unescaped.
Let 2 registered responders:
GET http://z.tld/foo%2fbar
GET /foo%2fbar
Before this release:
GET http://z.tld/foo%2fbar is caught by 1
GET http://unknown.tld/foo%2fbar is not caught as the tested path is /foo/bar instead of /foo%2fbar
From this release:
GET http://z.tld/foo%2fbar is caught by 1
GET http://unknown.tld/foo%2fbar is caught by 2
save of old clients transports is now protected from concurrent writes (@roboslone).
Miscellaneous:
now use go-testdeep to simplify tests (saves >500 test lines);
go minimal version required is now 1.9;
CI tests using go1.18 & golangci-lint v1.45.0;
signatures (and so documentation) now use any type instead of interface{}, as appeared in go 1.18 (in a compatible manner with go<1.18).
Enjoy!
v1.1.0
New features:
tell the user about possible mistakes concerning the mocked HTTP method;
by default, registering a Responder for a lower-cased method among CONNECT, DELETE, GET, HEAD, OPTIONS, POST, PUT and TRACE, produces a panic as it is probably a mistake. This behavior can be disabled by setting new MockTransport.DontCheckMethod field to true prior to the Register*Responder*() call;
registering a nilResponder now unregisters it and zeroes its statistics;
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/jarcoal/httpmock from 1.0.8 to 1.3.0.
Release notes
Sourced from github.com/jarcoal/httpmock's releases.
... (truncated)
Commits
e977d51
Merge pull request #139 from jarcoal/go120df3afac
ci: test with go1.20837f061
Merge pull request #138 from jarcoal/headersd4ab20c
feat: add Responder.{SetContentLength,HeaderAdd,HeaderSet} methodsdb50b76
perf(matchers): simplify http.NoBody caseb9e83a2
Merge pull request #136 from jarcoal/matchersf69cd5e
feat: introduce new matchers featurea55e961
refactor: go1.13 required now, so drop go1.9 to go1.12 supportf6c4876
Merge pull request #134 from jarcoal/go119638f16c
docs: uses new go1.19 doc featuresDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)