@sap/xsodata
Version:
Expose data from a HANA database as OData V2 service with help of .xsodata files.
42 lines (32 loc) • 1.04 kB
JavaScript
;
var configuration = require('./../configuration');
exports.JsonSerializer = JsonSerializer;
function JsonSerializer(context, bufferSize, code) {
var self = this;
self.context = context;
self.request = context.request;
self.response = context.response;
self.bufferSize = bufferSize;
self.buffer = '';
code = code || 200;
var header = {
'Content-Type': context.payloadType + ';charset=utf-8'
};
if (context.gModel) {
var cacheControl = context.gModel.getSetting('content', 'cache-control');
if (cacheControl) {
header['cache-control'] = cacheControl;
}
}
self.response.writeHead(code, header);
}
JsonSerializer.prototype.write = function (data) {
if (this.context.mode === configuration.modes.development) {
this.buffer += JSON.stringify(data, null, 4);
} else {
this.buffer += JSON.stringify(data, null, 0);
}
};
JsonSerializer.prototype.flush = function () {
this.response.write(this.buffer);
};