Skip to content

call .to_s on passed body#1075

Open
HoneyryderChuck wants to merge 1 commit into
bblimke:masterfrom
HoneyryderChuck:expect-body-string
Open

call .to_s on passed body#1075
HoneyryderChuck wants to merge 1 commit into
bblimke:masterfrom
HoneyryderChuck:expect-body-string

Conversation

@HoneyryderChuck

Copy link
Copy Markdown

👋 ,

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.

for the clients which wrap the request body
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant