UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

65 lines 4.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createMockServer = createMockServer; /** * Mock HTTPS server to implement the "mock-login" provider */ const fs_1 = require("fs"); const https_1 = require("https"); const utils_1 = require("../utils"); /** * Mock https server to test claim creation. * It implements a GET /me endpoint that returns the email address * of the user. A bearer token is expected in the Authorization header. * * The bearer token is expected to be the email address without the domain. * Eg. to claim the email address "abcd@mock.com", the header * should be "Authorization: Bearer abcd". */ function createMockServer(port) { const tlsSessionStore = {}; const server = (0, https_1.createServer)({ key: (0, fs_1.readFileSync)('./cert/private-key.pem'), cert: (0, fs_1.readFileSync)('./cert/public-cert.pem'), }); server.on('request', (req, res) => { var _a; if (req.method !== 'GET') { endWithError(405, 'invalid method'); return; } if (!((_a = req.url) === null || _a === void 0 ? void 0 : _a.startsWith('/me'))) { endWithError(404, 'invalid path'); return; } const auth = req.headers.authorization; if (!auth) { endWithError(401, 'missing authorization header'); return; } if (!(auth === null || auth === void 0 ? void 0 : auth.startsWith('Bearer '))) { endWithError(401, 'invalid authorization header'); return; } const emailAddress = auth.slice('Bearer '.length) + '@mock.com'; endWithJson(200, { emailAddress }); utils_1.logger.info({ emailAddress }, 'ended with success'); function endWithError(status, message) { endWithJson(status, { error: message }); utils_1.logger.info({ status, message }, 'ended with error'); } // eslint-disable-next-line @typescript-eslint/no-explicit-any function endWithJson(status, json) { const str = JSON.stringify(json); res.writeHead(status, { 'Content-Type': 'application/json', 'Content-Length': str.length.toString(), }); res.write(str); res.end(); } }); server.listen(port); return { server, tlsSessionStore }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1wcm92aWRlci1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdHMvbW9jay1wcm92aWRlci1zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsNENBMERDO0FBMUVEOztHQUVHO0FBQ0gsMkJBQWlDO0FBQ2pDLGlDQUFvQztBQUNwQyxxQ0FBa0M7QUFFbEM7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFZO0lBQzVDLE1BQU0sZUFBZSxHQUEyQixFQUFFLENBQUE7SUFFbEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxvQkFBWSxFQUMxQjtRQUNDLEdBQUcsRUFBRSxJQUFBLGlCQUFZLEVBQUMsd0JBQXdCLENBQUM7UUFDM0MsSUFBSSxFQUFFLElBQUEsaUJBQVksRUFBQyx3QkFBd0IsQ0FBQztLQUM1QyxDQUNELENBQUE7SUFFRCxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTs7UUFDakMsSUFBRyxHQUFHLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3pCLFlBQVksQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtZQUNuQyxPQUFNO1FBQ1AsQ0FBQztRQUVELElBQUcsQ0FBQyxDQUFBLE1BQUEsR0FBRyxDQUFDLEdBQUcsMENBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBLEVBQUUsQ0FBQztZQUNoQyxZQUFZLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBQ2pDLE9BQU07UUFDUCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUE7UUFDdEMsSUFBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsWUFBWSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQyxDQUFBO1lBQ2pELE9BQU07UUFDUCxDQUFDO1FBRUQsSUFBRyxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQSxFQUFFLENBQUM7WUFDakMsWUFBWSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQyxDQUFBO1lBQ2pELE9BQU07UUFDUCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFBO1FBQy9ELFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO1FBRWxDLGNBQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBO1FBRW5ELFNBQVMsWUFBWSxDQUFDLE1BQWMsRUFBRSxPQUFlO1lBQ3BELFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUV2QyxjQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixDQUFDLENBQUE7UUFDckQsQ0FBQztRQUVELDhEQUE4RDtRQUM5RCxTQUFTLFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBUztZQUM3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2hDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTthQUN2QyxDQUFDLENBQUE7WUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ1YsQ0FBQztJQUNGLENBQUMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUVuQixPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxDQUFBO0FBQ25DLENBQUMifQ==