From f92fed60f882564d42f1b566c88e260df75f1475 Mon Sep 17 00:00:00 2001 From: Christian Theilemann Date: Sun, 22 Jun 2014 15:14:46 +0200 Subject: [PATCH] Add .xsjs and .xsjslib as JavaScript file extension .xsjs and .xsjslib is used to denote server-side JavaScript files in SAP HANA XS --- lib/linguist/languages.yml | 2 ++ samples/JavaScript/helloHanaEndpoint.xsjs | 24 +++++++++++++++++++++++ samples/JavaScript/helloHanaMath.xsjslib | 9 +++++++++ 3 files changed, 35 insertions(+) create mode 100644 samples/JavaScript/helloHanaEndpoint.xsjs create mode 100644 samples/JavaScript/helloHanaMath.xsjslib diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index 5c32b14a..ae77f12c 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1095,6 +1095,8 @@ JavaScript: - .pac - .sjs - .ssjs + - .xsjs + - .xsjslib filenames: - Jakefile interpreters: diff --git a/samples/JavaScript/helloHanaEndpoint.xsjs b/samples/JavaScript/helloHanaEndpoint.xsjs new file mode 100644 index 00000000..25629850 --- /dev/null +++ b/samples/JavaScript/helloHanaEndpoint.xsjs @@ -0,0 +1,24 @@ +/* + invoke endpoint by calling in a browser: + http://:////helloHanaMath.xsjslib?x=4&y=2 + e.g.: + http://192.168.178.20:8000/geekflyer/linguist/helloHanaEndpoint.xsjs?x=4&y=2 + */ + +var hanaMath = $.import("./helloHanaMath.xsjslib"); + +var x = parseFloat($.request.parameters.get("x")); +var y = parseFloat($.request.parameters.get("y")); + + +var result = hanaMath.multiply(x, y); + +var output = { + title: "Hello HANA XS - do some simple math", + input: {x: x, y: y}, + result: result +}; + +$.response.contentType = "application/json"; +$.response.statusCode = $.net.http.OK; +$.response.setBody(JSON.stringify(output)); \ No newline at end of file diff --git a/samples/JavaScript/helloHanaMath.xsjslib b/samples/JavaScript/helloHanaMath.xsjslib new file mode 100644 index 00000000..311c2570 --- /dev/null +++ b/samples/JavaScript/helloHanaMath.xsjslib @@ -0,0 +1,9 @@ +/* simple hana xs demo library, which can be used by multiple endpoints */ + +function multiply(x, y) { + return x * y; +} + +function add(x, y) { + return x + y; +} \ No newline at end of file