UNPKG

httpyac

Version:

HTTP/REST CLI Client for *.http files

118 lines (117 loc) 3.09 kB
/** * Some useful function for cryptography */ export interface CryptoSupport { /** * SHA-1 digest builder */ sha1(): DigestBuilder; /** * SHA-256 digest builder */ sha256(): DigestBuilder; /** * SHA-384 digest builder */ sha384(): DigestBuilder; /** * SHA-512 digest builder */ sha512(): DigestBuilder; /** * MD-5 digest builder */ md5(): DigestBuilder; /** * API for hmac */ hmac: HmacSupport; } /** * Builder for digests. * Sequential calls of `update*` methods append bytes to result message. */ export interface DigestBuilder { /** * Append data presented as text * @param textInput data for appending to message * @param encoding encoding for decoding text to bytes. By default, UTF-8 */ updateWithText(textInput: string, encoding?: string): DigestBuilder; /** * Append data presented as 16-radix HEX text * @param hexInput data for appending to message */ updateWithHex(hexInput: string): DigestBuilder; /** * Append data presented as Base64 encoded text * @param base64Input data for appending to message * @param urlSafe is `base64Input` encoded as urlSafe Base64 variant. By default, false */ updateWithBase64(base64Input: string, urlSafe?: boolean): DigestBuilder; /** * Constructs digest from containing message. */ digest(): Digest; } /** * Object containing bytes of digest */ export interface Digest { /** * Returns bytes encoded as 16-radix HEX string */ toHex(): string; /** * Returns bytes encoded as Base64 string * @param urlSafe if true, will be used url-safe variant of Base64. By default, false */ toBase64(urlSafe?: boolean): string; } /** * API for HMAC */ export interface HmacSupport { /** * SHA-1 HMAC builder */ sha1(): HmacInitializer; /** * SHA-256 HMAC builder */ sha256(): HmacInitializer; /** * SHA-384 HMAC builder */ sha384(): HmacInitializer; /** * SHA-512 HMAC builder */ sha512(): HmacInitializer; /** * MD-5 HMAC builder */ md5(): HmacInitializer; } /** * Object for initializing HMAC with private key (secret). */ export interface HmacInitializer { /** * Initializes HMAC with secret presented as text. Converts to bytes using encoding * @param textSecret HMAC secret * @param encoding encoding for decoding text. By default, UTF-8 */ withTextSecret(textSecret: string, encoding?: string): DigestBuilder; /** * Initializes HMAC with secret presented as 16-radix HEX string. * @param hexSecret HMAC secret */ withHexSecret(hexSecret: string): DigestBuilder; /** * Initializes HMAC with secret presented as Base64 string. * @param base64Secret HMAC secret * @param urlSafe is `base64Secret` encoded using urlSafe Base64-variant. By default, false */ withBase64Secret(base64Secret: string, urlSafe?: string): DigestBuilder; }