Skip to content

Commit aa52d8d

Browse files
Steven Yuansyall
authored andcommitted
Update HttpAuthSchemeProviderGenerator to use new interfaces
1 parent 36d56a1 commit aa52d8d

File tree

1 file changed

+33
-27
lines changed

1 file changed

+33
-27
lines changed

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/auth/http/HttpAuthSchemeProviderGenerator.java

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -85,20 +85,24 @@ public void run() {
8585
}
8686

8787
/*
88-
export interface WeatherHttpAuthSchemeParameters {
89-
operation?: string;
88+
import { HttpAuthSchemeParameters } from "@smithy/types";
89+
90+
// ...
91+
92+
export interface WeatherHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
9093
}
9194
*/
9295
private void generateHttpAuthSchemeParametersInterface() {
9396
delegator.useFileWriter(AuthUtils.HTTP_AUTH_SCHEME_PROVIDER_PATH, w -> {
97+
w.addDependency(TypeScriptDependency.EXPERIMENTAL_IDENTITY_AND_AUTH);
98+
w.addImport("HttpAuthSchemeParameters", null, TypeScriptDependency.EXPERIMENTAL_IDENTITY_AND_AUTH);
9499
w.openBlock("""
95100
/**
96101
* @internal
97102
*/
98-
export interface $LHttpAuthSchemeParameters {""", "}",
103+
export interface $LHttpAuthSchemeParameters extends HttpAuthSchemeParameters {""", "}",
99104
serviceName,
100105
() -> {
101-
w.write("operation?: string;");
102106
for (HttpAuthScheme authScheme : authIndex.getSupportedHttpAuthSchemes().values()) {
103107
for (HttpAuthSchemeParameter parameter : authScheme.getHttpAuthSchemeParameters()) {
104108
w.write("$L?: $C;", parameter.name(), parameter.type());
@@ -110,32 +114,31 @@ export interface $LHttpAuthSchemeParameters {""", "}",
110114

111115
/*
112116
import { WeatherClientResolvedConfig } from "../WeatherClient";
113-
import { HandlerExecutionContext } from "@smithy/types";
117+
import { HttpAuthSchemeParametersProvider } from "@smithy/types";
114118
115119
// ...
116120
117-
export async function defaultWeatherHttpAuthSchemeParametersProvider(
118-
config: WeatherClientResolvedConfig,
119-
context: HandlerExecutionContext
120-
): Promise<WeatherHttpAuthSchemeParameters> {
121-
return {
122-
operation: context.commandName,
123-
};
121+
export const defaultWeatherHttpAuthSchemeParametersProvider:
122+
HttpAuthSchemeParametersProvider<WeatherClientResolvedConfig, WeatherHttpAuthSchemeParameters> =
123+
async (config, context) => {
124+
return {
125+
operation: context.commandName,
126+
};
124127
};
125128
*/
126129
private void generateDefaultHttpAuthSchemeParametersProviderFunction() {
127130
delegator.useFileWriter(AuthUtils.HTTP_AUTH_SCHEME_PROVIDER_PATH, w -> {
128131
w.addRelativeImport(serviceSymbol.getName() + "ResolvedConfig", null,
129132
Paths.get(".", serviceSymbol.getNamespace()));
130-
w.addImport("HandlerExecutionContext", null, TypeScriptDependency.SMITHY_TYPES);
133+
w.addDependency(TypeScriptDependency.EXPERIMENTAL_IDENTITY_AND_AUTH);
134+
w.addImport("HttpAuthSchemeParametersProvider", null, TypeScriptDependency.EXPERIMENTAL_IDENTITY_AND_AUTH);
131135
w.openBlock("""
132136
/**
133137
* @internal
134138
*/
135-
export async function default$LHttpAuthSchemeParametersProvider(
136-
config: $LResolvedConfig,
137-
context: HandlerExecutionContext
138-
): Promise<$LHttpAuthSchemeParameters> {""", "};",
139+
export const default$LHttpAuthSchemeParametersProvider: \
140+
HttpAuthSchemeParametersProvider<$LResolvedConfig, $LHttpAuthSchemeParameters> = \
141+
async (config, context) => {""", "};",
139142
serviceName, serviceSymbol.getName(), serviceName,
140143
() -> {
141144
w.openBlock("return {", "};", () -> {
@@ -223,26 +226,28 @@ private static String normalizeAuthSchemeName(ShapeId shapeId) {
223226
}
224227

225228
/*
226-
export interface WeatherHttpAuthSchemeProvider {
227-
(authParameters: WeatherHttpAuthSchemeParameters): HttpAuthOption[];
228-
}
229+
import { HttpAuthSchemeProvider } from "@smithy/types";
230+
231+
// ...
232+
233+
export interface WeatherHttpAuthSchemeProvider extends HttpAuthSchemeProvider<WeatherHttpAuthSchemeParameters> {}
229234
*/
230235
private void generateHttpAuthSchemeProviderInterface() {
231236
delegator.useFileWriter(AuthUtils.HTTP_AUTH_SCHEME_PROVIDER_PATH, w -> {
237+
w.addDependency(TypeScriptDependency.EXPERIMENTAL_IDENTITY_AND_AUTH);
238+
w.addImport("HttpAuthSchemeProvider", null, TypeScriptDependency.EXPERIMENTAL_IDENTITY_AND_AUTH);
232239
w.write("""
233240
/**
234241
* @internal
235242
*/
236-
export interface $LHttpAuthSchemeProvider {
237-
(authParameters: $LHttpAuthSchemeParameters): HttpAuthOption[];
238-
}
243+
export interface $LHttpAuthSchemeProvider extends HttpAuthSchemeProvider<$LHttpAuthSchemeParameters> {}
239244
""", serviceName, serviceName);
240245
});
241246
}
242247

243248
/*
244-
export function defaultWeatherHttpAuthSchemeProvider(authParameters: WeatherHttpAuthSchemeParameters):
245-
HttpAuthOption[] {
249+
export const defaultWeatherHttpAuthSchemeProvider: WeatherHttpAuthSchemeProvider =
250+
(authParameters) => {
246251
const options: HttpAuthOption[] = [];
247252
switch (authParameters.operation) {
248253
default: {
@@ -258,8 +263,9 @@ private void generateHttpAuthSchemeProviderDefaultFunction() {
258263
/**
259264
* @internal
260265
*/
261-
export function default$LHttpAuthSchemeProvider(authParameters: $LHttpAuthSchemeParameters): \
262-
HttpAuthOption[] {""", "};", serviceName, serviceName, () -> {
266+
export const default$LHttpAuthSchemeProvider: $LHttpAuthSchemeProvider = \
267+
(authParameters) => {""", "};",
268+
serviceName, serviceName, () -> {
263269
w.write("const options: HttpAuthOption[] = [];");
264270
w.openBlock("switch (authParameters.operation) {", "};", () -> {
265271
var serviceAuthSchemes = serviceIndex.getEffectiveAuthSchemes(

0 commit comments

Comments
 (0)