Skip to content

Commit

Permalink
feat(client-sso*): remove auth dependencies if client doesn't need (#…
Browse files Browse the repository at this point in the history
…2037)

* chore: not to import auth config when not required at all

* feat(client-sso*): remove auth dependencies if client doesn't need
  • Loading branch information
AllanZhengYP committed Feb 18, 2021
1 parent 16214be commit f1e190c
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 20 deletions.
14 changes: 5 additions & 9 deletions clients/client-sso-oidc/SSOOIDCClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import {
} from "@aws-sdk/middleware-host-header";
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry";
import { AwsAuthInputConfig, AwsAuthResolvedConfig, resolveAwsAuthConfig } from "@aws-sdk/middleware-signing";
import {
UserAgentInputConfig,
UserAgentResolvedConfig,
Expand Down Expand Up @@ -160,7 +159,6 @@ export type SSOOIDCClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOpt
ClientDefaults &
RegionInputConfig &
EndpointsInputConfig &
AwsAuthInputConfig &
RetryInputConfig &
HostHeaderInputConfig &
UserAgentInputConfig;
Expand All @@ -169,7 +167,6 @@ export type SSOOIDCClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHa
Required<ClientDefaults> &
RegionResolvedConfig &
EndpointsResolvedConfig &
AwsAuthResolvedConfig &
RetryResolvedConfig &
HostHeaderResolvedConfig &
UserAgentResolvedConfig;
Expand Down Expand Up @@ -209,12 +206,11 @@ export class SSOOIDCClient extends __Client<
};
let _config_1 = resolveRegionConfig(_config_0);
let _config_2 = resolveEndpointsConfig(_config_1);
let _config_3 = resolveAwsAuthConfig(_config_2);
let _config_4 = resolveRetryConfig(_config_3);
let _config_5 = resolveHostHeaderConfig(_config_4);
let _config_6 = resolveUserAgentConfig(_config_5);
super(_config_6);
this.config = _config_6;
let _config_3 = resolveRetryConfig(_config_2);
let _config_4 = resolveHostHeaderConfig(_config_3);
let _config_5 = resolveUserAgentConfig(_config_4);
super(_config_5);
this.config = _config_5;
this.middlewareStack.use(getRetryPlugin(this.config));
this.middlewareStack.use(getContentLengthPlugin(this.config));
this.middlewareStack.use(getHostHeaderPlugin(this.config));
Expand Down
1 change: 0 additions & 1 deletion clients/client-sso-oidc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
"@aws-sdk/middleware-logger": "3.5.0",
"@aws-sdk/middleware-retry": "3.5.0",
"@aws-sdk/middleware-serde": "3.4.1",
"@aws-sdk/middleware-signing": "3.5.0",
"@aws-sdk/middleware-stack": "3.4.1",
"@aws-sdk/middleware-user-agent": "3.5.0",
"@aws-sdk/node-config-provider": "3.4.1",
Expand Down
14 changes: 5 additions & 9 deletions clients/client-sso/SSOClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import {
} from "@aws-sdk/middleware-host-header";
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
import { RetryInputConfig, RetryResolvedConfig, getRetryPlugin, resolveRetryConfig } from "@aws-sdk/middleware-retry";
import { AwsAuthInputConfig, AwsAuthResolvedConfig, resolveAwsAuthConfig } from "@aws-sdk/middleware-signing";
import {
UserAgentInputConfig,
UserAgentResolvedConfig,
Expand Down Expand Up @@ -160,7 +159,6 @@ export type SSOClientConfig = Partial<__SmithyConfiguration<__HttpHandlerOptions
ClientDefaults &
RegionInputConfig &
EndpointsInputConfig &
AwsAuthInputConfig &
RetryInputConfig &
HostHeaderInputConfig &
UserAgentInputConfig;
Expand All @@ -169,7 +167,6 @@ export type SSOClientResolvedConfig = __SmithyResolvedConfiguration<__HttpHandle
Required<ClientDefaults> &
RegionResolvedConfig &
EndpointsResolvedConfig &
AwsAuthResolvedConfig &
RetryResolvedConfig &
HostHeaderResolvedConfig &
UserAgentResolvedConfig;
Expand Down Expand Up @@ -207,12 +204,11 @@ export class SSOClient extends __Client<
};
let _config_1 = resolveRegionConfig(_config_0);
let _config_2 = resolveEndpointsConfig(_config_1);
let _config_3 = resolveAwsAuthConfig(_config_2);
let _config_4 = resolveRetryConfig(_config_3);
let _config_5 = resolveHostHeaderConfig(_config_4);
let _config_6 = resolveUserAgentConfig(_config_5);
super(_config_6);
this.config = _config_6;
let _config_3 = resolveRetryConfig(_config_2);
let _config_4 = resolveHostHeaderConfig(_config_3);
let _config_5 = resolveUserAgentConfig(_config_4);
super(_config_5);
this.config = _config_5;
this.middlewareStack.use(getRetryPlugin(this.config));
this.middlewareStack.use(getContentLengthPlugin(this.config));
this.middlewareStack.use(getHostHeaderPlugin(this.config));
Expand Down
1 change: 0 additions & 1 deletion clients/client-sso/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
"@aws-sdk/middleware-logger": "3.5.0",
"@aws-sdk/middleware-retry": "3.5.0",
"@aws-sdk/middleware-serde": "3.4.1",
"@aws-sdk/middleware-signing": "3.5.0",
"@aws-sdk/middleware-stack": "3.4.1",
"@aws-sdk/middleware-user-agent": "3.5.0",
"@aws-sdk/node-config-provider": "3.4.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public List<RuntimeClientPlugin> getClientPlugins() {
.build(),
RuntimeClientPlugin.builder()
.withConventions(AwsDependency.MIDDLEWARE_SIGNING.dependency, "AwsAuth", HAS_CONFIG)
.servicePredicate((m, s) -> !isAllOptionalAuthOperation(m, s))
.build(),
RuntimeClientPlugin.builder()
.withConventions(AwsDependency.MIDDLEWARE_SIGNING.dependency, "AwsAuth", HAS_MIDDLEWARE)
Expand Down Expand Up @@ -175,4 +176,15 @@ private static boolean hasOptionalAuthOperation(Model model, ServiceShape servic
}
return false;
}

private static boolean isAllOptionalAuthOperation(Model model, ServiceShape service) {
TopDownIndex topDownIndex = TopDownIndex.of(model);
Set<OperationShape> operations = topDownIndex.getContainedOperations(service);
for (OperationShape operation : operations) {
if (!operation.getTrait(OptionalAuthTrait.class).isPresent()) {
return false;
}
}
return true;
}
}

0 comments on commit f1e190c

Please sign in to comment.