Fix Interaction to record HTTP headers and status codes #78
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 just started using this library today, but I think I hit a small bug in
Interaction
: I was unable to save the status code and response headers when recording. Here's what I found:When finished recording,
Session.persist
calls down toInteraction.dictionary
, which checks ifresponse
is aHTTPURLResponse
. If it is, it records the headers and status code for the response:However, this is checking if the response is a
DVR.HTTPURLResponse
, not aFoundation.HTTPURLResponse
. SinceDVR.HTTPURLResponse
is only get initialized from cassette dictionaries, this condition should never be true.I changed
HTTPURLResponse
toFoundation.HTTPURLResponse
and was able to record status code / headers successfully.Testing
Confirmed that this doesn't affect existing tests.