UNPKG

vulcain-corejs

Version:
60 lines (58 loc) 1.74 kB
"use strict"; /** * This class provide a way to customize the http response. * * @export * @class HttpResponse */ class HttpResponse { constructor() { this.headers = new Map(); this.statusCode = 200; } /** * Add a custom header value to the response * * @param {string} name * @param {string} value */ addHeader(name, value) { this.headers.set(name, value); } } exports.HttpResponse = HttpResponse; class HttpRedirectResponse extends HttpResponse { constructor(url) { super(); if (!url) throw new Error("Url is required"); this.statusCode = 302; this.addHeader("Location", url); } } exports.HttpRedirectResponse = HttpRedirectResponse; class HandlerFactory { static obfuscateSensibleData(domain, container, result) { if (result) { if (Array.isArray(result)) { let outputSchema; result.forEach(v => { if (v.__schema) { if (!outputSchema || outputSchema.name !== v.__schema) outputSchema = domain.getSchema(v.__schema); if (outputSchema && outputSchema.description.hasSensibleData) domain.obfuscate(v, outputSchema); } }); } else if (result.__schema) { let outputSchema = domain.getSchema(result.__schema); if (outputSchema && outputSchema.description.hasSensibleData) domain.obfuscate(result, outputSchema); } } return result; } } exports.HandlerFactory = HandlerFactory; //# sourceMappingURL=common.js.map