Class FixtureRedactor

java.lang.Object
org.mockserver.fixture.FixtureRedactor

public class FixtureRedactor extends Object
Masks sensitive data in recorded expectations before they are written to fixture files.

Operates on copies: the live event log is never mutated. Header values for a configurable set of header names are replaced with a placeholder ("***REDACTED***").

Default sensitive headers: Authorization, x-api-key, api-key, Cookie, Set-Cookie, Proxy-Authorization.

  • Field Details

  • Constructor Details

    • FixtureRedactor

      public FixtureRedactor()
      Create a redactor with the default sensitive header list and no body-field redaction.
    • FixtureRedactor

      public FixtureRedactor(Collection<String> sensitiveHeaders)
      Create a redactor with a custom sensitive header list and no body-field redaction.
      Parameters:
      sensitiveHeaders - header names to redact (case-insensitive)
    • FixtureRedactor

      public FixtureRedactor(Collection<String> sensitiveHeaders, Collection<String> sensitiveBodyFields)
      Create a redactor with custom sensitive headers and JSON body field names. Body fields are matched case-insensitively at any depth of a JSON request/response body; their values are replaced with the placeholder.
      Parameters:
      sensitiveHeaders - header names to redact (case-insensitive)
      sensitiveBodyFields - JSON field names to redact in bodies (case-insensitive)
  • Method Details

    • defaultSensitiveHeaders

      public static Set<String> defaultSensitiveHeaders()
      The default sensitive header names (case-insensitive), as an unmodifiable set, so callers can reuse them when constructing a redactor with additional body fields without re-declaring the list.
    • redact

      public Expectation[] redact(Expectation[] expectations)
      Redact sensitive headers in an array of expectations. Returns new Expectation objects; the originals are not modified.
      Parameters:
      expectations - the expectations to redact
      Returns:
      new expectations with sensitive header values replaced