import { getBucketEndpointPlugin } from "@aws-sdk/middleware-bucket-endpoint" ; 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 , HttpHandlerOptions as __HttpHandlerOptions , MetadataBearer as __MetadataBearer , MiddlewareStack , SerdeContext as __SerdeContext , } from "@aws-sdk/types" ; import { WriteGetObjectResponseRequest } from "../models/models_1" ; import { deserializeAws_restXmlWriteGetObjectResponseCommand , serializeAws_restXmlWriteGetObjectResponseCommand , } from "../protocols/Aws_restXml" ; import { S3ClientResolvedConfig , ServiceInputTypes , ServiceOutputTypes } from "../S3Client" ; type WriteGetObjectResponseCommandInputType = Omit < WriteGetObjectResponseRequest , "Body" > & { /**
     * For *`WriteGetObjectResponseRequest["Body"]`*, see  WriteGetObjectResponseRequest . Body .
      Body ? : WriteGetObjectResponseRequest [ "Body" ] | string | Uint8Array | Buffer ; } ; /**
 * This interface extends from `WriteGetObjectResponseRequest` interface. There are more parameters than `Body` defined in  WriteGetObjectResponseRequest export interface WriteGetObjectResponseCommandInput extends WriteGetObjectResponseCommandInputType { } export interface WriteGetObjectResponseCommandOutput extends __MetadataBearer { } example see WriteGetObjectResponseCommandInput for command's `input` shape.
 *  see WriteGetObjectResponseCommandOutput for command's `response` shape.
 *  see S3ClientResolvedConfig for S3Client's `config` shape.
 *
  export class WriteGetObjectResponseCommand extends $Command < WriteGetObjectResponseCommandInput , WriteGetObjectResponseCommandOutput , S3ClientResolvedConfig > { constructor ( readonly input ) { super ( ) ; } internal resolveMiddleware ( clientStack , configuration , options ? ) { this . middlewareStack . use ( getSerdePlugin ( configuration , this . serialize , this . deserialize ) ) ; this . middlewareStack . use ( getBucketEndpointPlugin ( configuration ) ) ; const stack = clientStack . concat ( this . middlewareStack ) ; const { logger } = configuration ; const clientName = "S3Client" ; const commandName = "WriteGetObjectResponseCommand" ; const handlerExecutionContext = { logger , clientName , commandName , inputFilterSensitiveLog : WriteGetObjectResponseRequest . filterSensitiveLog , outputFilterSensitiveLog : ( output ) => output , } ; const { requestHandler } = configuration ; return stack . resolve ( ( request ) => requestHandler . handle ( request . request as __HttpRequest , options || { } ) , handlerExecutionContext ) ; } private serialize ( input , context ) { return serializeAws_restXmlWriteGetObjectResponseCommand ( input , context ) ; } private deserialize ( output , context ) { return deserializeAws_restXmlWriteGetObjectResponseCommand ( output , context ) ; } }