UNPKG

@aws-sdk/signature-v4-multi-region

Version:

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/signature-v4-multi-region/latest.svg)](https://www.npmjs.com/package/@aws-sdk/signature-v4-multi-region) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/signature-v4-multi-region.svg)](https:/

36 lines (35 loc) 1.87 kB
import type { SignatureV4CryptoInit, SignatureV4Init } from "@smithy/signature-v4"; import type { AwsCredentialIdentity, HttpRequest, RequestPresigner, RequestPresigningArguments, RequestSigner, RequestSigningArguments } from "@smithy/types"; /** * @internal */ export type SignatureV4MultiRegionInit = SignatureV4Init & SignatureV4CryptoInit & { runtime?: string; }; /** * A SigV4-compatible signer for Sigv4a. In order to support SigV4a algorithm according to the operation input * dynamically, the signer wraps native module SigV4a signer and JS SigV4 signer. It signs the request with SigV4a * algorithm if the request needs to be signed with `*` region. Otherwise, it signs the request with normal SigV4 * signer. * @internal */ export declare class SignatureV4MultiRegion implements RequestPresigner, RequestSigner { private sigv4aSigner?; private readonly sigv4Signer; private readonly signerOptions; static sigv4aDependency(): "none" | "js" | "crt"; constructor(options: SignatureV4MultiRegionInit); sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise<HttpRequest>; /** * Sign with alternate credentials to the ones provided in the constructor. * Note: This is only supported for SigV4a when using the CRT implementation. */ signWithCredentials(requestToSign: HttpRequest, credentials: AwsCredentialIdentity, options?: RequestSigningArguments): Promise<HttpRequest>; /** * Presign a request. * Note: This is only supported for SigV4a when using the CRT implementation. */ presign(originalRequest: HttpRequest, options?: RequestPresigningArguments): Promise<HttpRequest>; presignWithCredentials(originalRequest: HttpRequest, credentials: AwsCredentialIdentity, options?: RequestPresigningArguments): Promise<HttpRequest>; private getSigv4aSigner; }