Thanks to visit codestin.com
Credit goes to github.com

Skip to content

add redactions to VCR#344

Open
aksonnic wants to merge 4 commits intophp-vcr:masterfrom
aksonnic:redactions
Open

add redactions to VCR#344
aksonnic wants to merge 4 commits intophp-vcr:masterfrom
aksonnic:redactions

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.

3 participants