import { EchoServiceClientResolvedConfig , ServiceInputTypes , ServiceOutputTypes } from "../EchoServiceClient" ; import { EchoInput , EchoOutput } from "../models/models_0" ; import { deserializeAws_restJson1EchoCommand , serializeAws_restJson1EchoCommand } from "../protocols/Aws_restJson1" ; import { getSerdePlugin } from "@aws-sdk/middleware-serde" ; import { HttpRequest as __HttpRequest , HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http" ; import { Command as $Command } from "@aws-sdk/smithy-client" ; import { FinalizeHandlerArguments , Handler , HandlerExecutionContext , MiddlewareStack , HttpHandlerOptions as __HttpHandlerOptions , MetadataBearer as __MetadataBearer , SerdeContext as __SerdeContext , } from "@aws-sdk/types" ; export interface EchoCommandInput extends EchoInput { } export interface EchoCommandOutput extends EchoOutput , __MetadataBearer { } export class EchoCommand extends $Command < EchoCommandInput , EchoCommandOutput , EchoServiceClientResolvedConfig > { constructor ( readonly input ) { super ( ) ; } internal resolveMiddleware ( clientStack , configuration , options ? ) { this . middlewareStack . use ( getSerdePlugin ( configuration , this . serialize , this . deserialize ) ) ; const stack = clientStack . concat ( this . middlewareStack ) ; const { logger } = configuration ; const clientName = "EchoServiceClient" ; const commandName = "EchoCommand" ; const handlerExecutionContext = { logger , clientName , commandName , inputFilterSensitiveLog : EchoInput . filterSensitiveLog , outputFilterSensitiveLog : EchoOutput . filterSensitiveLog , } ; const { requestHandler } = configuration ; return stack . resolve ( ( request ) => requestHandler . handle ( request . request as __HttpRequest , options || { } ) , handlerExecutionContext ) ; } private serialize ( input , context ) { return serializeAws_restJson1EchoCommand ( input , context ) ; } private deserialize ( output , context ) { return deserializeAws_restJson1EchoCommand ( output , context ) ; } }