Skip to content

Commit

Permalink
Merge pull request #374 from ballerina-platform/patch-8.0.x
Browse files Browse the repository at this point in the history
Fix panicking in ClientOAuth2 initialization
  • Loading branch information
RDPerera authored Nov 21, 2024
2 parents 28bf740 + 59a3a62 commit c817a76
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
11 changes: 8 additions & 3 deletions ballerina/modules/bulk/client.bal
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,19 @@ public isolated client class Client {
(authConfig is http:BearerTokenConfig ? authConfig : {...authConfig});
self.clientConfig = auth.cloneReadOnly();

http:ClientOAuth2Handler|http:ClientBearerTokenAuthHandler httpHandlerResult;
http:ClientOAuth2Handler|http:ClientBearerTokenAuthHandler|error httpHandlerResult;

if auth is http:OAuth2RefreshTokenGrantConfig {
httpHandlerResult = new http:ClientOAuth2Handler(auth);
httpHandlerResult = trap new http:ClientOAuth2Handler(auth);
} else {
httpHandlerResult = new http:ClientBearerTokenAuthHandler(auth);
}
self.clientHandler = httpHandlerResult;

if httpHandlerResult is http:ClientOAuth2Handler|http:ClientBearerTokenAuthHandler {
self.clientHandler = httpHandlerResult;
} else {
return error(utils:CLIENT_INIT_ERROR_MSG + httpHandlerResult.message(), httpHandlerResult);
}

http:Client|http:ClientError httpClientResult;
httpClientResult = new (config.baseUrl, httpClientConfig);
Expand Down
12 changes: 9 additions & 3 deletions ballerina/modules/soap/client.bal
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,19 @@ public isolated client class Client {
(authConfig is http:BearerTokenConfig ? authConfig : {...authConfig});
self.clientConfig = auth.cloneReadOnly();

http:ClientOAuth2Handler|http:ClientBearerTokenAuthHandler httpHandlerResult;
http:ClientOAuth2Handler|http:ClientBearerTokenAuthHandler|error httpHandlerResult;

if auth is http:OAuth2RefreshTokenGrantConfig {
httpHandlerResult = new http:ClientOAuth2Handler(auth);
httpHandlerResult = trap new http:ClientOAuth2Handler(auth);
} else {
httpHandlerResult = new http:ClientBearerTokenAuthHandler(auth);
}
self.clientHandler = httpHandlerResult;

if httpHandlerResult is http:ClientOAuth2Handler|http:ClientBearerTokenAuthHandler {
self.clientHandler = httpHandlerResult;
} else {
return error(utils:CLIENT_INIT_ERROR_MSG + httpHandlerResult.message(), httpHandlerResult);
}

http:Client|http:ClientError httpClientResult = new (config.baseUrl, httpClientConfig);

Expand Down

0 comments on commit c817a76

Please sign in to comment.