Skip to content

feat: standardize plugin naming, add getMiddleware fn [WIP] #402

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 10 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 0 additions & 45 deletions clients/node/client-rds-data-node/RDSDataClient.ts

This file was deleted.

62 changes: 32 additions & 30 deletions clients/node/client-rds-data-node/RDSDataConfiguration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,31 @@ import { NodeHttpHandler } from "@aws-sdk/node-http-handler";
import { defaultProvider as regionDefaultProvider } from "@aws-sdk/region-provider";
import { parseUrl } from "@aws-sdk/url-parser-node";
import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
import { streamCollector } from '@aws-sdk/stream-collector-node';
import { streamCollector } from "@aws-sdk/stream-collector-node";
import { RestJsonProtocol } from "@aws-sdk/protocol-rest-json";
import { fromUtf8, toUtf8 } from '@aws-sdk/util-utf8-node';
import { fromBase64, toBase64 } from '@aws-sdk/util-base64-node';
import { defaultUserAgent } from '@aws-sdk/util-user-agent-node';
import { AwsAuthConfiguration, AwsAuthConfigurationInput } from '@aws-sdk/signing-middleware';
import { UserAgentConfig, UserAgentConfigInput } from '@aws-sdk/middleware-user-agent';
import { RetryConfig, RetryConfigInput } from '@aws-sdk/retry-middleware';
import { name, version } from './package.json';
import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
import { AwsAuth, AwsAuthInput } from "@aws-sdk/middleware-signing";
import { UserAgent, UserAgentInput } from "@aws-sdk/middleware-user-agent";
import { Retry, RetryInput } from "@aws-sdk/middleware-retry";
import { name, version } from "./package.json";
import {
RegionConfiguration,
RegionConfigurationInput,
EndpointsConfig,
EndpointsConfigInput,
ProtocolConfig,
ProtocolConfigInput,
Region,
RegionInput,
Endpoints,
EndpointsInput,
ClientProtocol,
ClientProtocolInput,
AWSClientRuntimeConfiguration
} from '@aws-sdk/config-resolver';
} from "@aws-sdk/config-resolver";

export type AWSClientRuntimeResolvedConfiguration = Required<AWSClientRuntimeConfiguration>;
export type AWSClientRuntimeResolvedConfiguration = Required<
AWSClientRuntimeConfiguration
>;

export const RDSRuntimeConfiguration: AWSClientRuntimeResolvedConfiguration = {
protocolDefaultProvider: (handler) => new RestJsonProtocol(handler),
protocolDefaultProvider: handler => new RestJsonProtocol(handler),
signingName: "rds-data",
service: "rds-data",
httpHandler: new NodeHttpHandler(),
Expand All @@ -41,20 +43,20 @@ export const RDSRuntimeConfiguration: AWSClientRuntimeResolvedConfiguration = {
utf8Decoder: fromUtf8,
utf8Encoder: toUtf8,
defaultUserAgent: defaultUserAgent(name, version)
}
};

export type RDSDataConfiguration = AWSClientRuntimeConfiguration &
AwsAuthConfigurationInput &
RegionConfigurationInput &
RetryConfigInput &
EndpointsConfigInput &
ProtocolConfigInput &
UserAgentConfigInput
AwsAuthInput &
RegionInput &
RetryInput &
EndpointsInput &
ClientProtocolInput &
UserAgentInput;

export type RDSDataResolvedConfiguration = AWSClientRuntimeResolvedConfiguration &
AwsAuthConfiguration.Resolved &
RegionConfiguration.Resolved &
RetryConfig.Resolved &
EndpointsConfig.Resolved &
ProtocolConfig.Resolved &
UserAgentConfig.Resolved
AwsAuth.Resolved &
Region.Resolved &
Retry.Resolved &
Endpoints.Resolved &
ClientProtocol.Resolved &
UserAgent.Resolved;
11 changes: 6 additions & 5 deletions clients/node/client-rds-data-node/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
## Description

<fullname>Amazon RDS Data Service</fullname>

<p>Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora
Serverless DB cluster. To run these statements, you work with the Data Service
API.</p>
Expand All @@ -24,21 +25,21 @@ npm install @aws-sdk/client-rds-data-node

### Import

The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(`RDSDataClient`) and the commands you need, for example `BatchExecuteStatementCommand`:
The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(`RdsDataServiceClient`) and the commands you need, for example `BatchExecuteStatementCommand`:

```javascript
//JavaScript
const {
RDSDataClient
} = require("@aws-sdk/client-rds-data-node/RDSDataClient");
RdsDataServiceClient
} = require("@aws-sdk/client-rds-data-node/RdsDataServiceClient");
const {
BatchExecuteStatementCommand
} = require("@aws-sdk/client-rds-data-node/commands/BatchExecuteStatementCommand");
```

```javascript
//TypeScript
import { RDSDataClient } from "@aws-sdk/client-rds-data-node/RDSDataClient";
import { RdsDataServiceClient } from "@aws-sdk/client-rds-data-node/RdsDataServiceClient";
import { BatchExecuteStatementCommand } from "@aws-sdk/client-rds-data-node/commands/BatchExecuteStatementCommand";
```

Expand All @@ -52,7 +53,7 @@ To send a request, you:
- If you are using a custom http handler, you may call `destroy()` to close open connections.

```javascript
const rDSData = new RDSDataClient({region: 'region'});
const rDSData = new RdsDataServiceClient({region: 'region'});
//clients can be shared by different commands
const params = {
resourceArn: /**a string value*/,
Expand Down
92 changes: 92 additions & 0 deletions clients/node/client-rds-data-node/RdsDataServiceClient.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
import {
BatchExecuteStatementRequest,
BatchExecuteStatementResponse,
BeginTransactionRequest,
BeginTransactionResponse,
CommitTransactionRequest,
CommitTransactionResponse,
ExecuteSqlRequest,
ExecuteSqlResponse,
ExecuteStatementRequest,
ExecuteStatementResponse,
RollbackTransactionRequest,
RollbackTransactionResponse
} from "./models/index";
import {
Endpoints,
ClientProtocol,
Region,
AWSClientRuntimeConfiguration
} from "@aws-sdk/config-resolver";
import { ContentLength } from "@aws-sdk/middleware-content-length";
import { UserAgent } from "@aws-sdk/middleware-user-agent";
import { Retry } from "@aws-sdk/middleware-retry";
import { AwsAuth } from "@aws-sdk/middleware-signing";
import { RDSRuntimeConfiguration } from "./RDSDataConfiguration";
import {
Client as SmithyClient,
SmithyConfiguration,
SmithyResolvedConfiguration
} from "@aws-sdk/smithy-client";
import { HttpOptions as __HttpOptions } from "@aws-sdk/types";

export type ServiceInputTypes =
| RollbackTransactionRequest
| CommitTransactionRequest
| ExecuteSqlRequest
| BeginTransactionRequest
| ExecuteStatementRequest
| BatchExecuteStatementRequest;

export type ServiceOutputTypes =
| RollbackTransactionResponse
| CommitTransactionResponse
| ExecuteSqlResponse
| BeginTransactionResponse
| ExecuteStatementResponse
| BatchExecuteStatementResponse;

export type RdsDataServiceConfig = SmithyConfiguration<__HttpOptions> &
Region.Input &
AwsAuth.Input &
Endpoints.Input &
Retry.Input &
UserAgent.Input;

export type RdsDataServiceResolvedConfig = SmithyResolvedConfiguration<
__HttpOptions
> &
Region.Resolved &
AwsAuth.Resolved &
Endpoints.Resolved &
Retry.Resolved &
UserAgent.Resolved &
Required<AWSClientRuntimeConfiguration>;

export class RdsDataService extends SmithyClient<
__HttpOptions,
ServiceInputTypes,
ServiceOutputTypes
> {
readonly config: RdsDataServiceResolvedConfig;

constructor(configuration: RdsDataServiceConfig) {
const _config_0 = ClientProtocol.resolveConfig({
...RDSRuntimeConfiguration,
...configuration
});
let _config_1 = Region.resolveConfig(_config_0);
let _config_2 = AwsAuth.resolveConfig(_config_1);
let _config_3 = Endpoints.resolveConfig(_config_2);
let _config_4 = Retry.resolveConfig(_config_3);
let _config_5 = UserAgent.resolveConfig(_config_4);
super(_config_5);
this.config = _config_5;
super.use(ContentLength.setMiddleware(this.config));
super.use(AwsAuth.setMiddleware(this.config));
super.use(Retry.setMiddleware(this.config));
super.use(UserAgent.setMiddleware(this.config));
}

destroy(): void {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ import { FinalizeHandlerArguments, MiddlewareStack } from "@aws-sdk/types";
import {
ExecuteStatementRequest,
ExecuteStatementResponse
} from "../models/rdsdataservice";
} from "../models/index";

type InputTypesUnion = any;
type OutputTypesUnion = any;

export class ExecuteStatementCommand extends Command<
ExecuteStatementRequest,
ExecuteStatementResponse
> {
> {
constructor(readonly input: ExecuteStatementRequest) {
super();
}
Expand All @@ -28,13 +28,18 @@ export class ExecuteStatementCommand extends Command<
clientStack: MiddlewareStack<InputTypesUnion, OutputTypesUnion>,
configuration: RDSDataResolvedConfiguration,
options?: HttpOptions
): Handler<
ExecuteStatementRequest,
ExecuteStatementResponse
> {
const { protocol: { handler } } = configuration;
): Handler<ExecuteStatementRequest, ExecuteStatementResponse> {
const {
protocol: { handler }
} = configuration;

this.use(serdePlugin(configuration, executeStatementSerializer, executeStatementDeserializer));
this.use(
serdePlugin(
configuration,
executeStatementSerializer,
executeStatementDeserializer
)
);

const stack = clientStack.concat(this.middlewareStack);

Expand Down
5 changes: 2 additions & 3 deletions clients/node/client-rds-data-node/index.browser.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

export * from "./RDSDataClient";
export * from "./RdsDataServiceClient";
export * from "./RDSDataConfiguration";
export * from "./commands/ExecuteStatementCommand";
export * from "./commands/ExecuteStatementCommand";
2 changes: 1 addition & 1 deletion clients/node/client-rds-data-node/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from "./RDSDataClient";
export * from "./RdsDataServiceClient";
export * from "./RDSDataConfiguration";
export * from "./commands/ExecuteStatementCommand";
Loading