Skip to content

Commit a18b3ae

Browse files
committed
feat(middleware-retry): use retry strategy v2
1 parent 3baeb44 commit a18b3ae

23 files changed

+520
-401
lines changed

codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AddClientRuntimeConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,15 +107,15 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
107107
case BROWSER:
108108
return MapUtils.of(
109109
"maxAttempts", writer -> {
110-
writer.addDependency(TypeScriptDependency.MIDDLEWARE_RETRY);
110+
writer.addDependency(TypeScriptDependency.UTIL_RETRY);
111111
writer.addImport("DEFAULT_MAX_ATTEMPTS", "DEFAULT_MAX_ATTEMPTS",
112-
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
112+
TypeScriptDependency.UTIL_RETRY.packageName);
113113
writer.write("DEFAULT_MAX_ATTEMPTS");
114114
},
115115
"retryMode", writer -> {
116-
writer.addDependency(TypeScriptDependency.MIDDLEWARE_RETRY);
116+
writer.addDependency(TypeScriptDependency.UTIL_RETRY);
117117
writer.addImport("DEFAULT_RETRY_MODE", "DEFAULT_RETRY_MODE",
118-
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
118+
TypeScriptDependency.UTIL_RETRY.packageName);
119119
writer.write(
120120
"(async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE)");
121121
},
@@ -150,7 +150,7 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
150150
writer.addImport("NODE_RETRY_MODE_CONFIG_OPTIONS", "NODE_RETRY_MODE_CONFIG_OPTIONS",
151151
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
152152
writer.addImport("DEFAULT_RETRY_MODE", "DEFAULT_RETRY_MODE",
153-
TypeScriptDependency.MIDDLEWARE_RETRY.packageName);
153+
TypeScriptDependency.UTIL_RETRY.packageName);
154154
writer.openBlock("loadNodeConfig({", "})", () -> {
155155
writer.write("...NODE_RETRY_MODE_CONFIG_OPTIONS,");
156156
writer.write("default: async () => "

codegen/smithy-aws-typescript-codegen/src/test/java/software/amazon/smithy/aws/typescript/codegen/AddClientRuntimeConfigTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public void awsClient() {
4040
containsString(TypeScriptDependency.CONFIG_RESOLVER.packageName));
4141
assertThat(manifest.getFileString("package.json").get(),
4242
containsString(TypeScriptDependency.MIDDLEWARE_RETRY.packageName));
43+
assertThat(manifest.getFileString("package.json").get(),
44+
containsString(TypeScriptDependency.UTIL_RETRY.packageName));
4345

4446
// Check config interface fields
4547
assertThat(manifest.getFileString(CodegenUtils.SOURCE_FOLDER + "/NotSameClient.ts").get(), containsString("maxAttempts?:"));

packages/middleware-retry/src/AdaptiveRetryStrategy.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
import { DefaultRateLimiter, RateLimiter, RETRY_MODES } from "@aws-sdk/util-retry";
2+
13
import { AdaptiveRetryStrategy } from "./AdaptiveRetryStrategy";
2-
import { RETRY_MODES } from "./config";
3-
import { DefaultRateLimiter } from "./DefaultRateLimiter";
44
import { StandardRetryStrategy } from "./StandardRetryStrategy";
5-
import { RateLimiter, RetryQuota } from "./types";
5+
import { RetryQuota } from "./types";
66

77
jest.mock("./StandardRetryStrategy");
8-
jest.mock("./DefaultRateLimiter");
8+
jest.mock("@aws-sdk/util-retry");
99

1010
describe(AdaptiveRetryStrategy.name, () => {
1111
const maxAttemptsProvider = jest.fn();

packages/middleware-retry/src/AdaptiveRetryStrategy.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider } from "@aws-sdk/types";
2+
import { DefaultRateLimiter, RateLimiter, RETRY_MODES } from "@aws-sdk/util-retry";
23

3-
import { RETRY_MODES } from "./config";
4-
import { DefaultRateLimiter } from "./DefaultRateLimiter";
54
import { StandardRetryStrategy, StandardRetryStrategyOptions } from "./StandardRetryStrategy";
6-
import { RateLimiter } from "./types";
75

86
/**
97
* Strategy options to be passed to AdaptiveRetryStrategy
@@ -12,6 +10,9 @@ export interface AdaptiveRetryStrategyOptions extends StandardRetryStrategyOptio
1210
rateLimiter?: RateLimiter;
1311
}
1412

13+
/**
14+
* @deprected use AdaptiveRetryStrategy from @aws-sdk/util-retry
15+
*/
1516
export class AdaptiveRetryStrategy extends StandardRetryStrategy {
1617
private rateLimiter: RateLimiter;
1718

packages/middleware-retry/src/DefaultRateLimiter.spec.ts

Lines changed: 0 additions & 120 deletions
This file was deleted.

packages/middleware-retry/src/DefaultRateLimiter.ts

Lines changed: 0 additions & 150 deletions
This file was deleted.

packages/middleware-retry/src/StandardRetryStrategy.spec.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
22
import { isThrottlingError } from "@aws-sdk/service-error-classification";
3+
import {
4+
DEFAULT_MAX_ATTEMPTS,
5+
DEFAULT_RETRY_DELAY_BASE,
6+
INITIAL_RETRY_TOKENS,
7+
RETRY_MODES,
8+
THROTTLING_RETRY_DELAY_BASE,
9+
} from "@aws-sdk/util-retry";
310
import { v4 } from "uuid";
411

5-
import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from "./config";
6-
import { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, THROTTLING_RETRY_DELAY_BASE } from "./constants";
712
import { getDefaultRetryQuota } from "./defaultRetryQuota";
813
import { defaultDelayDecider } from "./delayDecider";
914
import { defaultRetryDecider } from "./retryDecider";

packages/middleware-retry/src/StandardRetryStrategy.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
22
import { isThrottlingError } from "@aws-sdk/service-error-classification";
33
import { SdkError } from "@aws-sdk/types";
44
import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, RetryStrategy } from "@aws-sdk/types";
5-
import { v4 } from "uuid";
6-
7-
import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from "./config";
85
import {
6+
DEFAULT_MAX_ATTEMPTS,
97
DEFAULT_RETRY_DELAY_BASE,
108
INITIAL_RETRY_TOKENS,
119
INVOCATION_ID_HEADER,
1210
REQUEST_HEADER,
11+
RETRY_MODES,
1312
THROTTLING_RETRY_DELAY_BASE,
14-
} from "./constants";
13+
} from "@aws-sdk/util-retry";
14+
import { v4 } from "uuid";
15+
1516
import { getDefaultRetryQuota } from "./defaultRetryQuota";
1617
import { defaultDelayDecider } from "./delayDecider";
1718
import { defaultRetryDecider } from "./retryDecider";
@@ -26,6 +27,9 @@ export interface StandardRetryStrategyOptions {
2627
retryQuota?: RetryQuota;
2728
}
2829

30+
/**
31+
* @deprected use StandardRetryStrategy from @aws-sdk/util-retry
32+
*/
2933
export class StandardRetryStrategy implements RetryStrategy {
3034
private retryDecider: RetryDecider;
3135
private delayDecider: DelayDecider;

0 commit comments

Comments
 (0)