Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
👋 ,
I'm the maintainer of httpx, an http library which maintains an adapter for webmock. Recently, an issue was reported about multipart requests failing when the webmock adapter is turned on (webmock does not support matching multipart payloads, that was an "allowed" request). I patched it by delegating
==
, used in the assertion functions, to the raw body, instead of expanding the request signature into a string.Once I released it, I got two new issues, as that patch broke their integrations. I narrowed it down to webmock expecting the body of the request signature to be a string.
This is probably a reasonable assumption, considering that this code is quite old, but then again most adapters are maintained in repo, so perhaps this expectation has been forced in the adapters instead. Nevertheless, I'd propose that, instead of forcing client request bodies to delegate all methods to the underlying string (if there is one),
webmock
instead converts it to a string, and then applies its logic.LMK what you think. I still have to find a reasonable patch on my side to work around this issue for older versions of webmock, so this forward patch is not really a blocker.