Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add redactions to VCR #344

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

add redactions to VCR #344

wants to merge 4 commits into from

Conversation

aksonnic
Copy link

Context

Typically there are lots of private values in network request/response that should not be saved to storage, and potentially be committed as part of a cassette. This PR allows users to specify redactions to be applied before/after storage. In all other respects the library works as it did before.

What has been done

  • added ability to specify redactions to be applied
  • added scrubbing/unscrubbing just before a recording is recorded/played back
  • tests

How to test

  • run unit tests

Notes

  • I don't really like the asymmetry between scrub($request, $response) and unscrub($recording). It's like that because each direction instantiates Request or Response objects at different times, and was an attempt to prevent needless array<->object conversions, but maybe it's not worth bothering.
  • Scrubber/scrub/unscrub perhaps isn't the best naming

@Justintime50
Copy link

Can we get eyes on this? This is an absolute must for security and a blocker before we could use it on our projects.

@TheFehr
Copy link

TheFehr commented Oct 19, 2021

@aksonnic I added your changes to my own fork, as I also needed a fix for a small curl bug. Can you give me an example of how to use it? I see you added tests, but there you create your own Cassettes. Is that the only way? Is this no compatibly with the "default" use of

VCR\VCR::turnOn();
VCR\VCR::insertCassette('some_name.yml');

/** The tested code **/

VCR::eject();
VCR::turnOff();

Thanks a lot

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.

None yet

3 participants