Skip to content

Commit 2ef393c

Browse files
committed
SWI-11878 Add Null Guard Clause to OAuth
1 parent 106bb52 commit 2ef393c

2 files changed

Lines changed: 12 additions & 4 deletions

File tree

custom_templates/libraries/okhttp-gson/auth/OAuthOkHttpClient.mustache

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import okhttp3.MediaType;
88
import okhttp3.Request;
99
import okhttp3.RequestBody;
1010
import okhttp3.Response;
11+
import okhttp3.ResponseBody;
1112

1213
import org.apache.oltu.oauth2.client.HttpClient;
1314
import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
@@ -56,9 +57,12 @@ public class OAuthOkHttpClient implements HttpClient {
5657

5758
try {
5859
Response response = client.newCall(requestBuilder.build()).execute();
60+
ResponseBody responseBody = response.body();
61+
// A degraded auth response (e.g. rate limited) can have no body or no Content-Type
62+
MediaType responseMediaType = responseBody != null ? responseBody.contentType() : null;
5963
return OAuthClientResponseFactory.createCustomResponse(
60-
response.body().string(),
61-
response.body().contentType().toString(),
64+
responseBody != null ? responseBody.string() : "",
65+
responseMediaType != null ? responseMediaType.toString() : null,
6266
response.code(),
6367
response.headers().toMultimap(),
6468
responseClass);

src/main/java/com/bandwidth/sdk/auth/OAuthOkHttpClient.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import okhttp3.Request;
1919
import okhttp3.RequestBody;
2020
import okhttp3.Response;
21+
import okhttp3.ResponseBody;
2122

2223
import org.apache.oltu.oauth2.client.HttpClient;
2324
import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
@@ -66,9 +67,12 @@ public <T extends OAuthClientResponse> T execute(OAuthClientRequest request, Map
6667

6768
try {
6869
Response response = client.newCall(requestBuilder.build()).execute();
70+
ResponseBody responseBody = response.body();
71+
// A degraded auth response (e.g. rate limited) can have no body or no Content-Type
72+
MediaType responseMediaType = responseBody != null ? responseBody.contentType() : null;
6973
return OAuthClientResponseFactory.createCustomResponse(
70-
response.body().string(),
71-
response.body().contentType().toString(),
74+
responseBody != null ? responseBody.string() : "",
75+
responseMediaType != null ? responseMediaType.toString() : null,
7276
response.code(),
7377
response.headers().toMultimap(),
7478
responseClass);

0 commit comments

Comments
 (0)