Skip to content

Commit 4fee228

Browse files
authored
Merge pull request #1235 from swagger-api/codegen-issue-1230
fix connection leak on retrofit OAuth token renewal
2 parents 639b037 + b30745e commit 4fee228

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

src/main/resources/handlebars/Java/libraries/retrofit/auth/OAuth.mustache

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,14 @@ public class OAuth implements Interceptor {
113113

114114
// 401/403 most likely indicates that access token has expired. Unless it happens two times in a row.
115115
if ( response != null && (response.code() == HTTP_UNAUTHORIZED || response.code() == HTTP_FORBIDDEN) && updateTokenAndRetryOnAuthorizationFailure ) {
116-
if (updateAccessToken(requestAccessToken)) {
117-
return retryingIntercept( chain, false );
116+
try {
117+
if (updateAccessToken(requestAccessToken)) {
118+
response.body().close();
119+
return retryingIntercept( chain, false );
120+
}
121+
} catch (Exception e) {
122+
response.body().close();
123+
throw e;
118124
}
119125
}
120126
return response;

src/main/resources/handlebars/Java/libraries/retrofit2/auth/OAuth.mustache

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,15 @@ public class OAuth implements Interceptor {
113113

114114
// 401/403 most likely indicates that access token has expired. Unless it happens two times in a row.
115115
if ( response != null && (response.code() == HTTP_UNAUTHORIZED || response.code() == HTTP_FORBIDDEN) && updateTokenAndRetryOnAuthorizationFailure ) {
116-
if (updateAccessToken(requestAccessToken)) {
117-
return retryingIntercept( chain, false );
116+
if ( response != null && (response.code() == HTTP_UNAUTHORIZED || response.code() == HTTP_FORBIDDEN) && updateTokenAndRetryOnAuthorizationFailure ) {
117+
try {
118+
if (updateAccessToken(requestAccessToken)) {
119+
response.body().close();
120+
return retryingIntercept( chain, false );
121+
}
122+
} catch (Exception e) {
123+
response.body().close();
124+
throw e;
118125
}
119126
}
120127
return response;

0 commit comments

Comments
 (0)