codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/AwsHttpPresignURLClientGenerator.java
public void writePresignV4aInterface(
            GoWriter writer,
            Model model,
            SymbolProvider symbolProvider,
            ServiceShape serviceShape
    ) {
        if (!isS3ServiceShape(model, serviceShape)) {
            return;
        }

        Symbol signerOptionsSymbol = SymbolUtils.createPointableSymbolBuilder(
                "SignerOptions", AwsCustomGoDependency.S3_SIGV4A_CUSTOMIZATION).build();

        writer.writeDocs(
                String.format("%s represents sigv4a presigner interface used by presign url client",
                        presignerV4aInterfaceSymbol.getName())
        );
        writer.openBlock("type $T interface {", "}", presignerV4aInterfaceSymbol, () -> {
            writer.write("PresignHTTP(");
            writer.write("ctx context.Context, credentials v4a.Credentials, r *http.Request,");
            writer.write("payloadHash string, service string, regionSet []string, signingTime time.Time,");
            writer.write("optFns ...func($P),", signerOptionsSymbol);
            writer.write(") (url string, signedHeader http.Header, err error)");
        });

        writer.write("");
    }
/**
     * Writes the presigner sigv4a interface used by the presign url client
     */
Writes the presigner sigv4a interface used by the presign url client
Writes the presigner sigv4a interface used by the presign url client
public void writePresignV4aInterface(
            GoWriter writer,
            Model model,
            SymbolProvider symbolProvider,
            ServiceShape serviceShape
    ) {
        if (!isS3ServiceShape(model, serviceShape)) {
            return;
        }
        Symbol signerOptionsSymbol = SymbolUtils.createPointableSymbolBuilder(
                "SignerOptions", AwsCustomGoDependency.S3_SIGV4A_CUSTOMIZATION).build();
        writer.writeDocs(
                String.format("%s represents sigv4a presigner interface used by presign url client",
                        presignerV4aInterfaceSymbol.getName())
        );
        writer.openBlock("type $T interface {", "}", presignerV4aInterfaceSymbol, () -> {
            writer.write("PresignHTTP(");
            writer.write("ctx context.Context, credentials v4a.Credentials, r *http.Request,");
            writer.write("payloadHash string, service string, regionSet []string, signingTime time.Time,");
            writer.write("optFns ...func($P),", signerOptionsSymbol);
            writer.write(") (url string, signedHeader http.Header, err error)");
        });
        writer.write("");
    }
public void writePresignV4aInterface ( GoWriter writer , Model model , SymbolProvider symbolProvider , ServiceShape serviceShape ) { if ( ! isS3ServiceShape ( model , serviceShape ) ) { return ; } Symbol signerOptionsSymbol = SymbolUtils . createPointableSymbolBuilder ( "SignerOptions" , AwsCustomGoDependency . S3_SIGV4A_CUSTOMIZATION ) . build ( ) ; writer . writeDocs ( String . format ( "%s represents sigv4a presigner interface used by presign url client" , presignerV4aInterfaceSymbol . getName ( ) ) ) ; writer . openBlock ( "type $T interface {" , "}" , presignerV4aInterfaceSymbol , ( ) -> { writer . write ( "PresignHTTP(" ) ; writer . write ( "ctx context.Context, credentials v4a.Credentials, r *http.Request," ) ; writer . write ( "payloadHash string, service string, regionSet []string, signingTime time.Time," ) ; writer . write ( "optFns ...func($P)," , signerOptionsSymbol ) ; writer . write ( ") (url string, signedHeader http.Header, err error)" ) ; } ) ; writer . write ( "" ) ; }
Writes the presigner sigv4a interface used by the presign url client
Writes the presigner sigv4a interface used by the presign url client