Skip to content

Commit 46d6dd6

Browse files
seebeesAllanZhengYP
authored andcommitted
feat(kms): generate node & browser clients (#211)
1 parent 3dd9e61 commit 46d6dd6

File tree

648 files changed

+21221
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

648 files changed

+21221
-0
lines changed
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/node_modules/
2+
/build/
3+
/coverage/
4+
/docs/
5+
*.tgz
6+
*.log
7+
package-lock.json
8+
9+
*.d.ts
10+
*.js
11+
*.js.map
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/coverage/
2+
/docs/
3+
*.ts
4+
!*.d.ts
5+
tsconfig.test.json

packages/client-kms-browser/KMS.ts

+1,177
Large diffs are not rendered by default.
+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
import * as __aws_crypto_sha256_browser from '@aws-crypto/sha256-browser';
2+
import * as __aws_sdk_config_resolver from '@aws-sdk/config-resolver';
3+
import * as __aws_sdk_core_handler from '@aws-sdk/core-handler';
4+
import * as __aws_sdk_fetch_http_handler from '@aws-sdk/fetch-http-handler';
5+
import * as __aws_sdk_json_builder from '@aws-sdk/json-builder';
6+
import * as __aws_sdk_json_error_unmarshaller from '@aws-sdk/json-error-unmarshaller';
7+
import * as __aws_sdk_json_parser from '@aws-sdk/json-parser';
8+
import * as __aws_sdk_middleware_content_length from '@aws-sdk/middleware-content-length';
9+
import * as __aws_sdk_middleware_header_default from '@aws-sdk/middleware-header-default';
10+
import * as __aws_sdk_middleware_serializer from '@aws-sdk/middleware-serializer';
11+
import * as __aws_sdk_middleware_stack from '@aws-sdk/middleware-stack';
12+
import * as __aws_sdk_protocol_json_rpc from '@aws-sdk/protocol-json-rpc';
13+
import * as __aws_sdk_retry_middleware from '@aws-sdk/retry-middleware';
14+
import * as __aws_sdk_signature_v4 from '@aws-sdk/signature-v4';
15+
import * as __aws_sdk_signing_middleware from '@aws-sdk/signing-middleware';
16+
import * as __aws_sdk_stream_collector_browser from '@aws-sdk/stream-collector-browser';
17+
import * as __aws_sdk_types from '@aws-sdk/types';
18+
import * as __aws_sdk_url_parser_browser from '@aws-sdk/url-parser-browser';
19+
import * as __aws_sdk_util_base64_browser from '@aws-sdk/util-base64-browser';
20+
import * as __aws_sdk_util_body_length_browser from '@aws-sdk/util-body-length-browser';
21+
import * as __aws_sdk_util_user_agent_browser from '@aws-sdk/util-user-agent-browser';
22+
import * as __aws_sdk_util_utf8_browser from '@aws-sdk/util-utf8-browser';
23+
import {KMSConfiguration, KMSResolvedConfiguration, configurationProperties} from './KMSConfiguration';
24+
import {InputTypesUnion} from './types/InputTypesUnion';
25+
import {OutputTypesUnion} from './types/OutputTypesUnion';
26+
import {clientVersion, ServiceMetadata} from './model/ServiceMetadata';
27+
28+
export class KMSClient {
29+
protected readonly config: KMSResolvedConfiguration;
30+
31+
readonly middlewareStack = new __aws_sdk_middleware_stack.MiddlewareStack<
32+
InputTypesUnion,
33+
OutputTypesUnion,
34+
Blob
35+
>();
36+
37+
constructor(configuration: KMSConfiguration) {
38+
this.config = __aws_sdk_config_resolver.resolveConfiguration(
39+
configuration,
40+
configurationProperties,
41+
this.middlewareStack
42+
);
43+
this.middlewareStack.add(
44+
__aws_sdk_middleware_serializer.serializerMiddleware(this.config.serializer),
45+
{
46+
step: 'serialize',
47+
priority: 90,
48+
tags: {SERIALIZER: true}
49+
}
50+
);
51+
this.middlewareStack.add(
52+
__aws_sdk_middleware_content_length.contentLengthMiddleware(
53+
this.config.bodyLengthChecker
54+
),
55+
{
56+
step: 'build',
57+
priority: -80,
58+
tags: {SET_CONTENT_LENGTH: true}
59+
}
60+
);
61+
if (this.config.maxRetries > 0) {
62+
this.middlewareStack.add(
63+
__aws_sdk_retry_middleware.retryMiddleware(
64+
this.config.maxRetries,
65+
this.config.retryDecider,
66+
this.config.delayDecider
67+
),
68+
{
69+
step: 'finalize',
70+
priority: Infinity,
71+
tags: {RETRY: true}
72+
}
73+
);
74+
}
75+
this.middlewareStack.add(
76+
__aws_sdk_signing_middleware.signingMiddleware<InputTypesUnion, OutputTypesUnion, Blob>(this.config.signer),
77+
{
78+
step: 'finalize',
79+
priority: 0,
80+
tags: {SIGNATURE: true}
81+
}
82+
);
83+
this.middlewareStack.add(
84+
__aws_sdk_middleware_header_default.headerDefault({
85+
'X-Amz-User-Agent': __aws_sdk_util_user_agent_browser.defaultUserAgent(
86+
ServiceMetadata.serviceId || ServiceMetadata.endpointPrefix,
87+
clientVersion
88+
)
89+
}),
90+
{
91+
step: 'build',
92+
priority: 0,
93+
tags: {SET_USER_AGENT: true}
94+
}
95+
);
96+
}
97+
98+
destroy(): void {
99+
if (!this.config._user_injected_http_handler) {
100+
this.config.httpHandler.destroy();
101+
}
102+
}
103+
104+
/**
105+
* This will need to be revised when the command interface lands.
106+
*/
107+
send<
108+
InputType extends InputTypesUnion,
109+
OutputType extends OutputTypesUnion
110+
>(command: __aws_sdk_types.Command<InputTypesUnion, InputType, OutputTypesUnion, OutputType, KMSResolvedConfiguration, Blob>): Promise<OutputType>;
111+
send<
112+
InputType extends InputTypesUnion,
113+
OutputType extends OutputTypesUnion
114+
>(
115+
command: __aws_sdk_types.Command<InputTypesUnion, InputType, OutputTypesUnion, OutputType, KMSResolvedConfiguration, Blob>,
116+
cb: (err: any, data?: OutputType) => void
117+
): void;
118+
send<
119+
InputType extends InputTypesUnion,
120+
OutputType extends OutputTypesUnion
121+
>(
122+
command: __aws_sdk_types.Command<InputTypesUnion, InputType, OutputTypesUnion, OutputType, KMSResolvedConfiguration, Blob>,
123+
cb?: (err: any, data?: OutputType) => void
124+
): Promise<OutputType>|void {
125+
const handler = command.resolveMiddleware(
126+
this.middlewareStack,
127+
this.config
128+
);
129+
if (cb) {
130+
handler(command).then(
131+
(result: OutputType) => cb(null, result),
132+
(err: any) => cb(err)
133+
).catch(
134+
// prevent any errors thrown in the callback from triggering an
135+
// unhandled promise rejection
136+
() => {}
137+
);
138+
} else {
139+
return handler(command);
140+
}
141+
}
142+
}

0 commit comments

Comments
 (0)