UNPKG

@sap/xsodata

Version:

Expose data from a HANA database as OData V2 service with help of .xsodata files.

54 lines (42 loc) 1.64 kB
'use strict'; var path = require('path'); var logger = require('<winston_api_like_logger>'); var express = require('express'); var xsOData = require('./../../../index'); logger.level = 'warn'; //Webserver configuration var webServerPort = 8019; var hostPortName = "localhost:" + webServerPort; var odataPrefix = '/odata'; //OData handler configuration var configuration = { //Here serviceConfiguration points to a directory: so the first uri segment behind the port //must contain the name of the xsodata file to use. E.g. for name demo.xsodata: //http://localhost/odata/demo.xsodata/$metadata "serviceConfiguration": path.join(__dirname, "services"), "defaultSchema": 'REFSCENARIO', "dbConfiguration": { "host": "<your host>", "port": 1234, "user": "<your user>", "password": "<your password>" }, "logger": logger }; //Instantiate ODataHandler var handler = new xsOData.ODataHandler(configuration); //express stuff var app = express(); app.use(odataPrefix, function (req, res, next) { handler.processRequest(req, res, req.baseUrl, function done() { console.log("processed odata request " + req.url); }); return; }); app.use(express.static('public')); app.listen(webServerPort, function () { console.log("Listen on localhost:" + webServerPort); console.log("Index url for demo : http://" + hostPortName + '/index.html'); console.log("Service url for demo : http://" + hostPortName + odataPrefix + '/demo.xsodata'); console.log("Service url for demo_nav: http://" + hostPortName + odataPrefix + '/demo_nav.xsodata'); });