001package com.box.sdkgen.internal.logging;
002
003import static com.box.sdkgen.internal.utils.UtilsManager.entryOf;
004import static com.box.sdkgen.internal.utils.UtilsManager.mapOf;
005import static com.box.sdkgen.internal.utils.UtilsManager.sanitizeMap;
006import static com.box.sdkgen.serialization.json.JsonManager.sanitizeSerializedData;
007
008import com.fasterxml.jackson.databind.JsonNode;
009import java.util.Map;
010
011public class DataSanitizer {
012
013  public final Map<String, String> keysToSanitize;
014
015  public DataSanitizer() {
016    this.keysToSanitize =
017        mapOf(
018            entryOf("authorization", ""),
019            entryOf("access_token", ""),
020            entryOf("refresh_token", ""),
021            entryOf("subject_token", ""),
022            entryOf("token", ""),
023            entryOf("client_id", ""),
024            entryOf("client_secret", ""),
025            entryOf("shared_link", ""),
026            entryOf("download_url", ""),
027            entryOf("jwt_private_key", ""),
028            entryOf("jwt_private_key_passphrase", ""),
029            entryOf("password", ""));
030  }
031
032  public Map<String, String> sanitizeHeaders(Map<String, String> headers) {
033    return sanitizeMap(headers, this.keysToSanitize);
034  }
035
036  public JsonNode sanitizeBody(JsonNode body) {
037    return sanitizeSerializedData(body, this.keysToSanitize);
038  }
039}