UNPKG

@softchef/cdk-iot-device-management

Version:

IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.

64 lines (63 loc) 2.32 kB
import { __read, __values } from "tslib"; import { readFileSync } from "fs"; import { createServer as createHttpServer } from "http"; import { createServer as createHttp2Server } from "http2"; import { createServer as createHttpsServer } from "https"; import { join } from "path"; import { Readable } from "stream"; var fixturesDir = join(__dirname, "..", "fixtures"); var setResponseHeaders = function (response, headers) { var e_1, _a; try { for (var _b = __values(Object.entries(headers)), _c = _b.next(); !_c.done; _c = _b.next()) { var _d = __read(_c.value, 2), key = _d[0], value = _d[1]; response.setHeader(key, value); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } }; var setResponseBody = function (response, body) { if (body instanceof Readable) { body.pipe(response); } else { response.end(body); } }; export var createResponseFunction = function (httpResp) { return function (request, response) { response.statusCode = httpResp.statusCode; setResponseHeaders(response, httpResp.headers); setResponseBody(response, httpResp.body); }; }; export var createResponseFunctionWithDelay = function (httpResp, delay) { return function (request, response) { response.statusCode = httpResp.statusCode; setResponseHeaders(response, httpResp.headers); setTimeout(function () { return setResponseBody(response, httpResp.body); }, delay); }; }; export var createContinueResponseFunction = function (httpResp) { return function (request, response) { response.writeContinue(); setTimeout(function () { createResponseFunction(httpResp)(request, response); }, 100); }; }; export var createMockHttpsServer = function () { var server = createHttpsServer({ key: readFileSync(join(fixturesDir, "test-server-key.pem")), cert: readFileSync(join(fixturesDir, "test-server-cert.pem")), }); return server; }; export var createMockHttpServer = function () { var server = createHttpServer(); return server; }; export var createMockHttp2Server = function () { var server = createHttp2Server(); return server; };