UNPKG

vulcain-corejs

Version:
56 lines (54 loc) 1.41 kB
"use strict"; /** * This class provide a way to customize the http response. * * @export * @class HttpResponse */ class HttpResponse { constructor(content, statusCode = 200) { this.headers = new Map(); this.statusCode = statusCode; this.content = content; } /** * Add a custom header value to the response * * @param {string} name * @param {string} value */ addHeader(name, value) { this.headers.set(name, value); } } HttpResponse.VulcainContentType = "application/vulcain"; 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 BadRequestResponse extends HttpResponse { constructor(content) { super(content, 400); if (typeof content === "string") { this.content = { error: { message: content } }; } } } exports.BadRequestResponse = BadRequestResponse; class VulcainResponse extends HttpResponse { constructor(content) { super(content); this.contentType = HttpResponse.VulcainContentType; } } exports.VulcainResponse = VulcainResponse; //# sourceMappingURL=response.js.map