nralcm
Version:
This is a framework based on NodeJs to manage rest api request lifecycle
41 lines (40 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const enums_1 = require("../../common/enums");
/**
* DefaultHttpResponseHandler will be used when HttpResponseHandler not registered in RestApiConfiguration
*/
class DefaultHttpResponseHandler {
/**
* Method to send response
* @param context HttpContext Object
* @param httpResponseMessage HttpResponseMessage Object
*/
sendResponse(context) {
this.setHeader(context);
let responseData = this.setResponseData(context.httpResponseMessage);
let statusCode = context.httpResponseMessage ? context.httpResponseMessage.statusCode : enums_1.StatusCode.Ok;
return context.response.type("application/json").status(statusCode)
.json(responseData);
}
setHeader(context) {
if (context.httpResponseMessage && context.httpResponseMessage.headers && context.httpResponseMessage.headers.size > 0) {
for (let [key, value] of context.httpResponseMessage.headers) {
context.response.setHeader(key, value);
}
}
}
setResponseData(httpResponseMessage) {
if (httpResponseMessage) {
let responseData = {
data: httpResponseMessage.body,
statusCode: httpResponseMessage.statusCode,
successMessage: httpResponseMessage.successMessage,
errorMessage: httpResponseMessage.errorMessages || []
};
return responseData;
}
return undefined;
}
}
exports.DefaultHttpResponseHandler = DefaultHttpResponseHandler;