A redactor is a function that alters the response content being written
out in the capture_requests()
context, allowing you to remove sensitive
values, such as authentication tokens,
as well as any other modification or truncation of the response body. By
default, the redact_cookies()
function will be used to purge standard
auth methods, but set_redactor()
allows you to provide a different one.
set_redactor(FUN)
A function or expression that modifies httr2_response
objects.
Specifically, a valid input is one of:
A function taking a single argument, the httr2_response
,
and returning a valid httr2_response
object.
A formula as shorthand for an anonymous function with .
as the
"response" argument, as in the purrr
package. That is, instead of
function (response) redact_headers(response, "X-Custom-Header")
, you can
use ~ redact_headers(., "X-Custom-Header")
A list of redacting functions/formulas, which will be executed in sequence on the response
NULL
, to override the default redact_cookies()
.
Invisibly, the redacting function, validated and perhaps modified.
Formulas and function lists are turned into proper functions. NULL
as input
returns the force()
function.
Alternatively, you can put a redacting function in inst/httptest2/redact.R
in your package, and
any time your package is loaded (as in when running tests or building
vignettes), the function will be used automatically.
For further details on how to redact responses, see vignette("redacting", package = "httptest2")
.
# Shorten UUIDs in response body/URLs to their first 6 digits:
set_redactor(function(resp) gsub_response(resp, "([0-9a-f]{6})[0-9a-f]{26}", "\\1"))
# Restore the default
set_redactor(redact_cookies)