UNPKG

@3846masa/http-signature

Version:

Create / Verify HTTP Signatures (https://tools.ietf.org/html/draft-cavage-http-signatures-10)

53 lines 3.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = __importDefault(require("ava")); const Headers_1 = require("../Headers"); const createSignatureString_1 = require("../createSignatureString"); ava_1.default('createSignatureString should create Signature String', (t) => { const headers = new Headers_1.Headers({ '(request-target)': 'post /foo?param=value&pet=dog', Host: 'example.com', Date: 'Sun, 05 Jan 2014 21:31:40 GMT', 'Content-Type': 'application/json', Digest: 'SHA-256=X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=', 'Content-Length': '18', }); const expected = ` (request-target): post /foo?param=value&pet=dog host: example.com date: Sun, 05 Jan 2014 21:31:40 GMT `.trim(); const actual = createSignatureString_1.createSignatureString({ headers, properties: ['(request-target)', 'host', 'date'], }); t.is(actual, expected); }); ava_1.default('createSignatureString should create Signature String from complex headers', (t) => { const headers = new Headers_1.Headers({ '(request-target)': 'get /foo', Host: 'example.org', Date: 'Tue, 07 Jun 2014 20:51:35 GMT', 'X-Example': `Example header with some whitespace.`, 'X-EmptyHeader': '', 'Cache-Control': ['max-age=60', 'must-revalidate'], }); const expected = ` (request-target): get /foo host: example.org date: Tue, 07 Jun 2014 20:51:35 GMT cache-control: max-age=60, must-revalidate x-emptyheader: x-example: Example header with some whitespace. `.trim(); const actual = createSignatureString_1.createSignatureString({ headers, properties: ['(request-target)', 'host', 'date', 'cache-control', 'x-emptyheader', 'x-example'], }); t.is(actual, expected); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU2lnbmF0dXJlU3RyaW5nLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvY3JlYXRlU2lnbmF0dXJlU3RyaW5nLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBdUI7QUFFdkIsd0NBQXFDO0FBQ3JDLG9FQUFpRTtBQUVqRSxhQUFJLENBQUMsc0RBQXNELEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUM7UUFDMUIsa0JBQWtCLEVBQUUsK0JBQStCO1FBQ25ELElBQUksRUFBRSxhQUFhO1FBQ25CLElBQUksRUFBRSwrQkFBK0I7UUFDckMsY0FBYyxFQUFFLGtCQUFrQjtRQUNsQyxNQUFNLEVBQUUsc0RBQXNEO1FBQzlELGdCQUFnQixFQUFFLElBQUk7S0FDdkIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQUc7Ozs7R0FJaEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVULE1BQU0sTUFBTSxHQUFHLDZDQUFxQixDQUFDO1FBQ25DLE9BQU87UUFDUCxVQUFVLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO0tBQ2pELENBQUMsQ0FBQztJQUVILENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBRUgsYUFBSSxDQUFDLDJFQUEyRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDdEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDO1FBQzFCLGtCQUFrQixFQUFFLFVBQVU7UUFDOUIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxXQUFXLEVBQUU7OEJBQ2E7UUFDMUIsZUFBZSxFQUFFLEVBQUU7UUFDbkIsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDO0tBQ25ELENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHOzs7Ozs7O0dBT2hCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFVCxNQUFNLE1BQU0sR0FBRyw2Q0FBcUIsQ0FBQztRQUNuQyxPQUFPO1FBQ1AsVUFBVSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQztLQUNoRyxDQUFDLENBQUM7SUFFSCxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMsQ0FBQyJ9