Skip to content

Commit df25d09

Browse files
authored
fix: Logging sensitive data headers (#313)
* Avoid loggging headers in the request * [maven-release-plugin] prepare release java-sdk-10.5.20 * [maven-release-plugin] prepare for next development iteration * Update README.md
1 parent 9c4ccd3 commit df25d09

3 files changed

Lines changed: 28 additions & 13 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,14 @@ Install the Contentful dependency:
7676
<dependency>
7777
<groupId>com.contentful.java</groupId>
7878
<artifactId>java-sdk</artifactId>
79-
<version>10.5.18</version>
79+
<version>10.5.20</version>
8080
</dependency>
8181
```
8282

8383
* _Gradle_
8484

8585
```groovy
86-
compile 'com.contentful.java:java-sdk:10.5.18'
86+
compile 'com.contentful.java:java-sdk:10.5.20'
8787
```
8888

8989
This library requires Java 8 (or higher version) or Android 21.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>com.contentful.java</groupId>
55
<artifactId>java-sdk</artifactId>
6-
<version>10.5.20-SNAPSHOT</version>
6+
<version>10.5.21-SNAPSHOT</version>
77
<packaging>jar</packaging>
88

99
<name>${project.groupId}:${project.artifactId}</name>

src/main/java/com/contentful/java/cda/CDAHttpException.java

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
import java.util.Locale;
1111
import java.util.concurrent.TimeUnit;
1212

13-
import static java.lang.String.format;
14-
1513
/**
1614
* This class will represent known Contentful exceptions
1715
*/
@@ -55,14 +53,31 @@ private String readResponseBody(Response response) {
5553
}
5654

5755
private String createString() {
58-
return format(
59-
Locale.getDefault(),
60-
"FAILED REQUEST:\n\t%s\n\t╰→ Header{%s}\n\t%s\n\t├→ Body{%s}\n\t╰→ Header{%s}",
61-
request.toString(),
62-
headersToString(request.headers()),
63-
response.toString(),
64-
responseBody,
65-
headersToString(response.headers()));
56+
return String.format(
57+
Locale.getDefault(),
58+
"FAILED REQUEST:\n\t%s\n\t╰→ Header{%s}\n\t%s\n\t├→ Body{%s}\n\t╰→ Header{%s}",
59+
toStringRequest(request), // Safe request string
60+
headersToString(request.headers()), // Already respects logSensitiveData
61+
toStringResponse(response), // Safe response string
62+
responseBody,
63+
headersToString(response.headers()) // Already respects logSensitiveData
64+
);
65+
}
66+
67+
private String toStringRequest(Request request) {
68+
if (logSensitiveData) {
69+
return request.toString();
70+
} else {
71+
return request.method() + " " + request.url();
72+
}
73+
}
74+
75+
private String toStringResponse(Response response) {
76+
if (logSensitiveData) {
77+
return response.toString();
78+
} else {
79+
return "HTTP " + response.code() + " " + response.message();
80+
}
6681
}
6782

6883
/**

0 commit comments

Comments
 (0)