warns about v1 bodies with a string that's base64

test_that("by default, headers left unchanged", {
test_that("can remove headers on disk", {
match_requests_on = c("method", "uri", "headers"),
con <- crul::HttpClient$new(hb("/get"), headers = list(x = "live"))
test_that("can replace headers on disk", {
filter_request_headers = list(x = "ondisk")
test_that("filter_headers doesn't add a header that doesn't exist", {
filter_request_headers = list("Authorization" = "XXXXXXX")
# first response returns unfiltered headers
filter_response_headers = list(foo = "foo")
expect_equal(dedup_keys(x), list(a = c(5, 6), b = "foo"))
# FIXME: doesn't yet work for nested duplicates. not sure if
# we need it to work for this case or not?
x <- list(b = "foo", c = list(a = 5, a = 6))
test_that("Authorization is always redacted", {
test_that("filter_sensitive_data usage works for headers", {

"filter_headers doesn't add a header that doesn't exist"
"filter_sensitive_data usage works for headers"

filter_headers doesn't add a header that doesn't exist