UNPKG

@cybersource/flex-sdk-node

Version:

Easily create keys for use in a Flex API integration and verifying Flex token contents

23 lines (18 loc) 748 B
/* Copyright (c) 2018 by CyberSource */ const crypto = require('crypto'); const { URL } = require('url'); const signature = require('./signature'); function generateHeaders(config, messageBody) { const digest = crypto.createHash('sha256').update(messageBody).digest('base64'); const headers = { host: new URL(config.getUrl()).host, date: new Date(Date.now()).toUTCString(), // 'Thu, 25 May 2017 16:34:09 GMT' '(request-target)': 'post /flex/v1/keys', digest: `SHA-256=${digest}`, 'v-c-merchant-id': config.mid, }; headers.signature = signature(headers, config.keyId, config.sharedSecret); delete headers['(request-target)']; // removing as invalid http header return headers; } module.exports = generateHeaders;