[4.x] Feature: Add masking request/response parameters using Closures #1417
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.
This PR allows Telescope to customize the way request and response parameters / headers are hidden. By default, Telescope can only hide params by replacing them with
'********'
. With support for'param' => Closure
syntax, it would be possible to tailor how the params are anonymized.Real world example is handling of personal numbers - it might be safe to store first 8 characters (year, month, date) but not the rest.
What is handled:
Design decision:
Closures vs callables: My approach uses closures as not to intruduce any breaking changes. Supporting callables would result in different behaviors for parameters named the same as functions (i.e. 'cookie' is a default parameter and a callable as well - Laravel's CookieJar helper).
Proposed syntax:
Before:
After: