From 55387833ee27907eb8db9d10b706a97cbabea105 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 23 Jun 2020 00:20:15 -0700 Subject: [PATCH 001/117] add Node 12 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0fe294a..cdcdfc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: node_js node_js: - - "7" + - "12" From 4b640700bc8de530387f26a3a80f0a12f57c5090 Mon Sep 17 00:00:00 2001 From: Yusuf Musleh Date: Sat, 4 Jul 2020 20:57:43 -0700 Subject: [PATCH 002/117] Fix buffer type validation in params Add tests to check for validity of buffer parameters --- lib/types.js | 8 ++ .../comprehensive/buffer_nested_in_params.js | 12 ++ tests/gateway/functions/buffer_in_params.js | 7 ++ .../functions/buffer_nested_in_params.js | 11 ++ tests/gateway/tests.js | 104 ++++++++++++++++++ tests/runner.js | 44 +++++++- 6 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 tests/files/comprehensive/buffer_nested_in_params.js create mode 100644 tests/gateway/functions/buffer_in_params.js create mode 100644 tests/gateway/functions/buffer_nested_in_params.js diff --git a/lib/types.js b/lib/types.js index ade9102..5f9d0db 100644 --- a/lib/types.js +++ b/lib/types.js @@ -177,6 +177,14 @@ const _format = { if (!v || typeof v !== 'object' || Buffer.isBuffer(v)) { return v; } else if (Object.keys(v).length > 1) { + if (v.type && v.type === 'Buffer' && v.data && Array.isArray(v.data)) { + try { + return Buffer.from(v); + } catch (e) { + console.log('caught in try catch'); + return v; + } + } return v; } else if (Array.isArray(v._bytes)) { return Buffer.from(v._bytes.map(v => Math.max(0, Math.min(255, parseInt(v))))); diff --git a/tests/files/comprehensive/buffer_nested_in_params.js b/tests/files/comprehensive/buffer_nested_in_params.js new file mode 100644 index 0000000..026d986 --- /dev/null +++ b/tests/files/comprehensive/buffer_nested_in_params.js @@ -0,0 +1,12 @@ +/** +* Test Buffer Nested In Params +* @param {?object} upload +* @ {object} attributes The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. +* @ {string} name An optional new name for the file. If specified, the file will be renamed when the new version is uploaded. +* @ {?string} content_modified_at Defines the time the file was last modified at. If not set, the upload time will be used. +* @ {buffer} file The content of the file to upload to Box. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. +* @returns {?object} Files A list of files +*/ +module.exports = async (upload = null) => { + return {}; +}; diff --git a/tests/gateway/functions/buffer_in_params.js b/tests/gateway/functions/buffer_in_params.js new file mode 100644 index 0000000..4ec207c --- /dev/null +++ b/tests/gateway/functions/buffer_in_params.js @@ -0,0 +1,7 @@ +/** +* @param {?buffer} b +* @returns {?object} Files A list of files +*/ +module.exports = async (b = null) => { + return {}; +}; diff --git a/tests/gateway/functions/buffer_nested_in_params.js b/tests/gateway/functions/buffer_nested_in_params.js new file mode 100644 index 0000000..476495b --- /dev/null +++ b/tests/gateway/functions/buffer_nested_in_params.js @@ -0,0 +1,11 @@ +/** +* @param {?object} upload +* @ {object} attributes The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. +* @ {string} name An optional new name for the file. If specified, the file will be renamed when the new version is uploaded. +* @ {?string} content_modified_at Defines the time the file was last modified at. If not set, the upload time will be used. +* @ {buffer} file The content of the file to upload to Box. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. +* @returns {?object} Files A list of files +*/ +module.exports = async (upload = null) => { + return {}; +}; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index dc10c9d..e91376f 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2446,6 +2446,110 @@ module.exports = (expect) => { }); }); + it('Should accept buffer in params', done => { + request('POST', {}, '/buffer_in_params/', { + b: Buffer.from('This is a buffer') + }, + (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(result).to.exist; + expect(result).to.be.an('object'); + expect(result).to.deep.equal({}); + done(); + + }); + }); + + it('Should accept buffer nested in params', done => { + request('POST', {}, '/buffer_nested_in_params/', { + upload: { + attributes: { + name: 'sample.txt', + parent: { + id: '116338107161' + } + }, + file: Buffer.from('This is a buffer') + } + }, + (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(result).to.exist; + expect(result).to.be.an('object'); + expect(result).to.deep.equal({}); + done(); + + }); + }); + + it('Should give ParameterError if non-buffer passed in for buffer param', done => { + request('POST', {}, '/buffer_in_params/', { + b: {data: 'some data'} + }, + (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(400); + expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); + expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); + expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + expect(result.error).to.exist; + expect(result.error.type).to.equal('ParameterError'); + expect(result.error.details).to.exist; + expect(result.error.details.b).to.exist; + expect(result.error.details.b.expected).to.exist; + expect(result.error.details.b.expected.type).to.equal('buffer'); + expect(result.error.details.b.actual).to.exist; + expect(result.error.details.b.actual.type).to.equal('object'); + expect(result.error.details.b.actual.value).to.deep.equal({data: 'some data'}); + done(); + + }); + }); + + it('Should give ParameterError if non-buffer passed in for nested buffer param', done => { + request('POST', {}, '/buffer_nested_in_params/', { + upload: { + attributes: { + name: 'sample.txt', + parent: { + id: '116338107161' + } + }, + file: {type: 'Buffer', data: '123', b: 4444, c: 555} + } + }, + (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(400); + expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); + expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); + expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + expect(result.error).to.exist; + expect(result.error.type).to.equal('ParameterError'); + expect(result.error.details).to.exist; + expect(result.error.details.upload).to.exist; + expect(result.error.details.upload.expected).to.exist; + expect(result.error.details.upload.expected.type).to.equal('object'); + expect(result.error.details.upload.expected.schema).to.exist; + expect(result.error.details.upload.expected.schema).to.have.length(2); + expect(result.error.details.upload.expected.schema[1].name).to.equal('file'); + expect(result.error.details.upload.expected.schema[1].type).to.equal('buffer'); + expect(result.error.details.upload.actual).to.exist; + expect(result.error.details.upload.actual.value).to.exist; + expect(result.error.details.upload.actual.value.file).to.exist; + expect(result.error.details.upload.actual.value.file).to.deep.equal({"type": "Buffer", "data": "123", "b": 4444, "c": 555}); + done(); + + }); + }); + + it('Should return a nested mocked buffer as if it were a real one, if type "any"', done => { request('POST', {}, '/buffer_nested_any_return/', {}, (err, res, result) => { diff --git a/tests/runner.js b/tests/runner.js index eb7ebf2..f033c13 100644 --- a/tests/runner.js +++ b/tests/runner.js @@ -57,7 +57,7 @@ describe('LibDoc', () => { it('Should read all functions correctly', () => { - expect(Object.keys(definitions).length).to.equal(24); + expect(Object.keys(definitions).length).to.equal(25); expect(definitions).to.haveOwnProperty(''); expect(definitions).to.haveOwnProperty('test'); expect(definitions).to.haveOwnProperty('returns'); @@ -77,6 +77,7 @@ describe('LibDoc', () => { expect(definitions).to.haveOwnProperty('options'); expect(definitions).to.haveOwnProperty('keyql_options'); expect(definitions).to.haveOwnProperty('alternate_schemas'); + expect(definitions).to.haveOwnProperty('buffer_nested_in_params'); }); @@ -998,6 +999,47 @@ describe('LibDoc', () => { }); + + it('Should read "buffer_nested_in_params"', () => { + + let params = definitions['buffer_nested_in_params'].params; + expect(params.length).to.equal(1); + + expect(params).to.deep.equal([ + { + name: 'upload', + type: 'object', + description: '', + schema: [ + { + name: 'attributes', + type: 'object', + description: 'The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code.', + schema: [ + { + name: 'name', + type: 'string', + description: 'An optional new name for the file. If specified, the file will be renamed when the new version is uploaded.', + }, + { + name: 'content_modified_at', + type: 'string', + description: 'Defines the time the file was last modified at. If not set, the upload time will be used.', + defaultValue: null + } + ] + }, + { + name: 'file', + type: 'buffer', + description: 'The content of the file to upload to Box. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code.' + } + ], + defaultValue: null + } + ]); + }); + it('Should read "options" parameters', () => { let params = definitions['options'].params; From 889192d76eb0c7d949b940fe4535eab2776ce037 Mon Sep 17 00:00:00 2001 From: Yusuf Musleh Date: Tue, 7 Jul 2020 08:41:46 -0700 Subject: [PATCH 003/117] Remove log --- lib/types.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/types.js b/lib/types.js index 5f9d0db..d2da79a 100644 --- a/lib/types.js +++ b/lib/types.js @@ -181,7 +181,6 @@ const _format = { try { return Buffer.from(v); } catch (e) { - console.log('caught in try catch'); return v; } } From 444b1d32e4d452412fe44815c71b513f7609d678 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 4 Aug 2020 13:56:10 -0700 Subject: [PATCH 004/117] Add in Accept-Encoding to FunctionScript Gateway for gzip, deflate --- lib/gateway.js | 271 +++++++++++++++++++++++++++-------------- package.json | 2 +- tests/gateway/tests.js | 51 ++++++++ 3 files changed, 234 insertions(+), 90 deletions(-) diff --git a/lib/gateway.js b/lib/gateway.js index aebdb54..251dea1 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -2,6 +2,7 @@ const http = require('http'); const path = require('path'); const url = require('url'); const querystring = require('querystring'); +const zlib = require('zlib'); const EventEmitter = require('events'); const uuid = require('uuid'); @@ -146,99 +147,137 @@ class Gateway extends EventEmitter { __clientError__ (req, res, message, status) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(status || 500, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'ClientError', - message: message - } - })); + return this.__endRequest__( + status || 500, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'ClientError', + message: message + } + }) + ); } __parameterError__ (req, res, details) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(400, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'ParameterError', - message: 'One or more parameters provided did not match the function signature', - details: details - } - })); + return this.__endRequest__( + 400, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'ParameterError', + message: 'One or more parameters provided did not match the function signature', + details: details + } + }) + ); } __accessSourceError__ (req, res, msg) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(401, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'AccessSourceError', - message: msg - } - })); + return this.__endRequest__( + 401, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'AccessSourceError', + message: msg + } + }) + ); } __accessPermissionError__ (req, res, msg) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(401, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'AccessPermissionError', - message: msg - } - })); + return this.__endRequest__( + 401, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'AccessPermissionError', + message: msg + } + }) + ); } __accessAuthError__ (req, res, msg) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(401, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'AccessAuthError', - message: msg - } - })); + return this.__endRequest__( + 401, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'AccessAuthError', + message: msg + } + }) + ); } __accessSuspendedError__ (req, res, msg) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(401, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'AccessSuspendedError', - message: msg - } - })); + return this.__endRequest__( + 401, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'AccessSuspendedError', + message: msg + } + }) + ); } __paymentRequiredError__ (req, res, msg) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(402, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'PaymentRequiredError', - message: msg - } - })); + return this.__endRequest__( + 402, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'PaymentRequiredError', + message: msg + } + }) + ); } __rateLimitError__ (req, res, count, period) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(429, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'RateLimitError', - message: `Too many requests. The rate limit for this endpoint is ${count} requests in ${period} seconds.`, - details: { - rate: {count, period} + return this.__endRequest__( + 429, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'RateLimitError', + message: `Too many requests. The rate limit for this endpoint is ${count} requests in ${period} seconds.`, + details: { + rate: {count, period} + } } - } - })); + }) + ); } __fatalError__ (req, res, msg, stack) { - let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(500, this.__formatHeaders__(headers)); let error = { type: 'FatalError', message: msg || 'Fatal Error' @@ -252,33 +291,50 @@ class Gateway extends EventEmitter { ); error.stack = stackLines.join('\n'); } - return this.__endRequest__(req, res, JSON.stringify({ - error: error - })); + let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + return this.__endRequest__( + 500, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: error + }) + ); } __runtimeError__ (req, res, msg, stack) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(403, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'RuntimeError', - message: msg || 'Runtime Error', - stack: stack - } - })); + return this.__endRequest__( + 403, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'RuntimeError', + message: msg || 'Runtime Error', + stack: stack + } + }) + ); } __valueError__ (req, res, details) { let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); - res.finished || res.writeHead(502, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, JSON.stringify({ - error: { - type: 'ValueError', - message: 'The value returned by the function did not match the specified type', - details: details - } - })); + return this.__endRequest__( + 502, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'ValueError', + message: 'The value returned by the function did not match the specified type', + details: details + } + }) + ); } __complete__ (req, res, body, headers, statusCode) { @@ -286,18 +342,35 @@ class Gateway extends EventEmitter { headers['content-type'] = headers['content-type'] || (Buffer.isBuffer(body) ? 'application/octet-stream' : 'application/json'); body = Buffer.isBuffer(body) ? body : JSON.stringify(body); - res.finished || res.writeHead(statusCode || 200, this.__formatHeaders__(headers)); - return this.__endRequest__(req, res, body); + return this.__endRequest__( + statusCode || 200, + this.__formatHeaders__(headers), + req, + res, + body + ); } __redirect__ (req, res, location) { - res.finished || res.writeHead(302, this.__formatHeaders__(this.__createHeaders__(req, {'location': location}))); - return this.__endRequest__(req, res); + let headers = this.__createHeaders__(req, {'location': location}); + return this.__endRequest__( + 302, + this.__formatHeaders__(headers), + req, + res, + null + ); } __options__ (req, res) { - res.finished || res.writeHead(200, this.__formatHeaders__(this.__createHeaders__(req))); - return this.__endRequest__(req, res); + let headers = this.__createHeaders__(req); + return this.__endRequest__( + 200, + this.__formatHeaders__(headers), + req, + res, + null + ); } __parseParameters__ (contentType, contentTypeParameters, convert, query, buffer, definition, proxyParameters) { @@ -531,7 +604,7 @@ class Gateway extends EventEmitter { let buffers = []; let size = 0; req.on('data', chunk => { - size += chunk.length + size += chunk.length; if (size > this.maxRequestSizeMB * 1024 * 1024) { this.log(req, `ClientError: Function Payload Exceeded, Max Size ${this.maxRequestSizeMB}MB`, 'error'); this.__clientError__(req, res, `Function Payload Exceeded, Max Size ${this.maxRequestSizeMB}MB`, 413); @@ -614,8 +687,28 @@ class Gateway extends EventEmitter { } - __endRequest__ (req, res, value) { - res.finished || res.end(value); + __endRequest__ (status, headers, req, res, value) { + if (!res.finished) { + let bytes = null; + if (value) { + bytes = value; + let acceptEncoding = req.headers['accept-encoding']; + try { + if (acceptEncoding.match(/\bgzip\b/gi)) { + bytes = zlib.gzipSync(bytes); + headers['Content-Encoding'] = 'gzip'; + } else if (acceptEncoding.match(/\bdeflate\b/gi)) { + bytes = zlib.deflateSync(bytes); + headers['Content-Encoding'] = 'deflate'; + } + } catch (e) { + bytes = value; + } + headers['Content-Length'] = Buffer.byteLength(bytes); + } + res.writeHead(status, headers); + res.end(bytes); + } this.end(req, value); delete this._requests[req._uuid]; this._requestCount -= 1; diff --git a/package.json b/package.json index a7f2e2e..16ce570 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "1.6.0", + "version": "1.7.0", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index dc10c9d..5a19f19 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -1,4 +1,5 @@ const http = require('http'); +const zlib = require('zlib'); const FormData = require('form-data'); const {Gateway, FunctionParser} = require('../../index.js'); @@ -32,6 +33,11 @@ function request(method, headers, path, data, callback) { res.on('data', chunk => buffers.push(chunk)); res.on('end', () => { let result = Buffer.concat(buffers); + if (res.headers['content-encoding'] === 'gzip') { + result = zlib.gunzipSync(result); + } else if (res.headers['content-encoding'] === 'deflate') { + result = zlib.inflateSync(result); + } if ((res.headers['content-type'] || '').split(';')[0] === 'application/json') { result = JSON.parse(result.toString()); } @@ -171,6 +177,51 @@ module.exports = (expect) => { }); }); + it('Should return 200 OK + gzip result when executed with Accept-Encoding: gzip', done => { + request('GET', {'accept-encoding': 'gzip'}, '/my_function/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-encoding']).to.equal('gzip'); + expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); + expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); + expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + expect(result).to.equal(6); + done(); + + }); + }); + + it('Should return 200 OK + deflate result when executed with Accept-Encoding: deflate', done => { + request('GET', {'accept-encoding': 'deflate'}, '/my_function/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-encoding']).to.equal('deflate'); + expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); + expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); + expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + expect(result).to.equal(6); + done(); + + }); + }); + + it('Should return 200 OK + gzip result when executed with Accept-Encoding: gzip, deflate', done => { + request('GET', {'accept-encoding': 'gzip, deflate'}, '/my_function/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-encoding']).to.equal('gzip'); + expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); + expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); + expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + expect(result).to.equal(6); + done(); + + }); + }); + it('Should parse arguments from URL', done => { request('GET', {}, '/my_function/?a=10&b=20&c=30', '', (err, res, result) => { From b5f6ac7caff6128e457707defc9b2726bb03cbae Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 4 Aug 2020 13:59:45 -0700 Subject: [PATCH 005/117] Only compress certain data types --- lib/gateway.js | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/lib/gateway.js b/lib/gateway.js index 251dea1..70f78b6 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -692,17 +692,31 @@ class Gateway extends EventEmitter { let bytes = null; if (value) { bytes = value; + let contentType = headers['Content-Type'].split(';')[0]; let acceptEncoding = req.headers['accept-encoding']; - try { - if (acceptEncoding.match(/\bgzip\b/gi)) { - bytes = zlib.gzipSync(bytes); - headers['Content-Encoding'] = 'gzip'; - } else if (acceptEncoding.match(/\bdeflate\b/gi)) { - bytes = zlib.deflateSync(bytes); - headers['Content-Encoding'] = 'deflate'; + let canCompress = !!{ + 'text/plain': 1, + 'text/html': 1, + 'text/xml': 1, + 'text/json': 1, + 'text/javascript': 1, + 'application/json': 1, + 'application/xml': 1, + 'application/javascript': 1, + 'application/octet-stream': 1 + }[contentType]; + if (canCompress) { + try { + if (acceptEncoding.match(/\bgzip\b/gi)) { + bytes = zlib.gzipSync(bytes); + headers['Content-Encoding'] = 'gzip'; + } else if (acceptEncoding.match(/\bdeflate\b/gi)) { + bytes = zlib.deflateSync(bytes); + headers['Content-Encoding'] = 'deflate'; + } + } catch (e) { + bytes = value; } - } catch (e) { - bytes = value; } headers['Content-Length'] = Buffer.byteLength(bytes); } From cddc8a39378138d98d9c2b284e3089e3c61bde1b Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 18 Aug 2020 23:40:49 -0700 Subject: [PATCH 006/117] Support buffer.contentType as an overloaded field --- lib/gateway.js | 6 +++++- package.json | 2 +- .../functions/buffer_return_content_type.js | 8 ++++++++ tests/gateway/tests.js | 16 ++++++++++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tests/gateway/functions/buffer_return_content_type.js diff --git a/lib/gateway.js b/lib/gateway.js index 70f78b6..c07b250 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -340,7 +340,11 @@ class Gateway extends EventEmitter { __complete__ (req, res, body, headers, statusCode) { headers = this.__createHeaders__(req, headers); headers['content-type'] = headers['content-type'] || - (Buffer.isBuffer(body) ? 'application/octet-stream' : 'application/json'); + ( + Buffer.isBuffer(body) + ? body.contentType || 'application/octet-stream' + : 'application/json' + ); body = Buffer.isBuffer(body) ? body : JSON.stringify(body); return this.__endRequest__( statusCode || 200, diff --git a/package.json b/package.json index 16ce570..23dea4a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "1.7.0", + "version": "1.7.1", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/functions/buffer_return_content_type.js b/tests/gateway/functions/buffer_return_content_type.js new file mode 100644 index 0000000..baf136b --- /dev/null +++ b/tests/gateway/functions/buffer_return_content_type.js @@ -0,0 +1,8 @@ +/** +* @returns {buffer} mybuf +*/ +module.exports = async () => { + let buffer = Buffer.from('lol'); + buffer.contentType = 'image/png'; + return buffer; +}; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 5a19f19..8f7f4e7 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2419,6 +2419,22 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/octet-stream'); + expect(result).to.exist; + expect(result).to.be.instanceof(Buffer); + expect(result.toString()).to.equal('lol'); + done(); + + }); + }); + + it('Should return a buffer properly with a .contentType set', done => { + request('POST', {}, '/buffer_return_content_type/', {}, + (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('image/png'); expect(result).to.exist; expect(result).to.be.instanceof(Buffer); expect(result.toString()).to.equal('lol'); From 4c7b3a98f1be32b0f855f14e7795cb77de3bc849 Mon Sep 17 00:00:00 2001 From: Jacob Date: Tue, 29 Sep 2020 16:48:26 -0700 Subject: [PATCH 007/117] Makes trailing slash redirect only apply to GET requests --- lib/gateway.js | 8 +++++++- package.json | 2 +- tests/gateway/tests.js | 33 +++++++++++++++++++++++---------- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/lib/gateway.js b/lib/gateway.js index c07b250..5878efa 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -25,6 +25,7 @@ class Gateway extends EventEmitter { this.name = cfg.name || DEFAULT_NAME; this.maxRequestSizeMB = cfg.maxRequestSizeMB || DEFAULT_MAX_REQUEST_SIZE_MB; this.supportedMethods = {'GET': true, 'POST': true, 'OPTIONS': true, 'HEAD': true}; + this.trailingSlashRedirectMethods = {'GET': true}; this.supportedLogTypes = {'global': '***', 'info': ':::', 'error': '', 'result': '>>>'}; this.defaultLogType = 'info'; this.supportedBgModes = background.modes; @@ -587,7 +588,12 @@ class Gateway extends EventEmitter { this.log(req, `Background Function Initiated`); } - if (req.headers['user-agent'] && !pathname.endsWith('/') && pathname.split('/').pop().indexOf('.') === -1) { + if ( + this.trailingSlashRedirectMethods[req.method] && + req.headers['user-agent'] && + !pathname.endsWith('/') && + pathname.split('/').pop().indexOf('.') === -1 + ) { this.log(req, `Redirect`); if (pathinfo.length === 2) { pathinfo[0] = pathname + '/'; diff --git a/package.json b/package.json index 23dea4a..786382b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "1.7.1", + "version": "1.8.0", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 8f7f4e7..ab708f1 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -79,7 +79,7 @@ module.exports = (expect) => { }); }); - it('Should return 302 redirect when missing trailing / with user agent', done => { + it('Should return 302 redirect on GET request when missing trailing / with user agent', done => { request('GET', {'user-agent': 'testing'}, '/my_function', '', (err, res, result) => { expect(err).to.not.exist; @@ -94,7 +94,7 @@ module.exports = (expect) => { }); }); - it('Should not return 302 redirect when missing trailing / without user agent', done => { + it('Should not return 302 redirect on a GET request when missing trailing / without user agent', done => { request('GET', {}, '/my_function', '', (err, res, result) => { expect(err).to.not.exist; @@ -107,6 +107,19 @@ module.exports = (expect) => { }); }); + it('Should not return 302 redirect for POST request with trailing slash with user agent', done => { + request('POST', {'user-agent': 'testing'}, '/my_function', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.not.equal(302); + expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); + expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); + expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + done(); + + }); + }); + it('Should give 200 OK and property headers for OPTIONS', done => { request('OPTIONS', {}, '/my_function/', {}, (err, res, result) => { @@ -695,8 +708,8 @@ module.exports = (expect) => { }); }); - it('Should return 302 redirect with correct url when running a background function missing a slash before :bg and at end of url', done => { - request('POST', {'user-agent': 'testing'}, '/bg:bg', '', (err, res, result) => { + it('Should return 302 redirect on a GET request with correct url when running a background function missing a slash before :bg and at end of url', done => { + request('GET', {'user-agent': 'testing'}, '/bg:bg', '', (err, res, result) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(302); @@ -710,8 +723,8 @@ module.exports = (expect) => { }); }); - it('Should return 302 redirect with correct url when running a background function missing a slash before :bg but with slash at end of url', done => { - request('POST', {'user-agent': 'testing'}, '/bg:bg/', '', (err, res, result) => { + it('Should return 302 redirect on a GET request with correct url when running a background function missing a slash before :bg but with slash at end of url', done => { + request('GET', {'user-agent': 'testing'}, '/bg:bg/', '', (err, res, result) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(302); @@ -725,8 +738,8 @@ module.exports = (expect) => { }); }); - it('Should return 302 redirect with correct url when running a background function missing a slash before :bg and at end of url with a query', done => { - request('POST', {'user-agent': 'testing'}, '/bg:bg?test=param', '', (err, res, result) => { + it('Should return 302 redirect on a GET request with correct url when running a background function missing a slash before :bg and at end of url with a query', done => { + request('GET', {'user-agent': 'testing'}, '/bg:bg?test=param', '', (err, res, result) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(302); @@ -740,8 +753,8 @@ module.exports = (expect) => { }); }); - it('Should return 302 redirect with correct url when running a background function missing a slash before :bg but with slash at end of url with a query', done => { - request('POST', {'user-agent': 'testing'}, '/bg:bg/?test=param', '', (err, res, result) => { + it('Should return 302 redirect on a GET request with correct url when running a background function missing a slash before :bg but with slash at end of url with a query', done => { + request('GET', {'user-agent': 'testing'}, '/bg:bg/?test=param', '', (err, res, result) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(302); From 71306828499956765f88ac52a6b2b6643754ea4f Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Wed, 30 Sep 2020 14:09:48 -0400 Subject: [PATCH 008/117] Revert "Fix buffer type validation in params" --- lib/types.js | 7 -- .../comprehensive/buffer_nested_in_params.js | 12 -- tests/gateway/functions/buffer_in_params.js | 7 -- .../functions/buffer_nested_in_params.js | 11 -- tests/gateway/tests.js | 104 ------------------ tests/runner.js | 44 +------- 6 files changed, 1 insertion(+), 184 deletions(-) delete mode 100644 tests/files/comprehensive/buffer_nested_in_params.js delete mode 100644 tests/gateway/functions/buffer_in_params.js delete mode 100644 tests/gateway/functions/buffer_nested_in_params.js diff --git a/lib/types.js b/lib/types.js index d2da79a..ade9102 100644 --- a/lib/types.js +++ b/lib/types.js @@ -177,13 +177,6 @@ const _format = { if (!v || typeof v !== 'object' || Buffer.isBuffer(v)) { return v; } else if (Object.keys(v).length > 1) { - if (v.type && v.type === 'Buffer' && v.data && Array.isArray(v.data)) { - try { - return Buffer.from(v); - } catch (e) { - return v; - } - } return v; } else if (Array.isArray(v._bytes)) { return Buffer.from(v._bytes.map(v => Math.max(0, Math.min(255, parseInt(v))))); diff --git a/tests/files/comprehensive/buffer_nested_in_params.js b/tests/files/comprehensive/buffer_nested_in_params.js deleted file mode 100644 index 026d986..0000000 --- a/tests/files/comprehensive/buffer_nested_in_params.js +++ /dev/null @@ -1,12 +0,0 @@ -/** -* Test Buffer Nested In Params -* @param {?object} upload -* @ {object} attributes The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. -* @ {string} name An optional new name for the file. If specified, the file will be renamed when the new version is uploaded. -* @ {?string} content_modified_at Defines the time the file was last modified at. If not set, the upload time will be used. -* @ {buffer} file The content of the file to upload to Box. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. -* @returns {?object} Files A list of files -*/ -module.exports = async (upload = null) => { - return {}; -}; diff --git a/tests/gateway/functions/buffer_in_params.js b/tests/gateway/functions/buffer_in_params.js deleted file mode 100644 index 4ec207c..0000000 --- a/tests/gateway/functions/buffer_in_params.js +++ /dev/null @@ -1,7 +0,0 @@ -/** -* @param {?buffer} b -* @returns {?object} Files A list of files -*/ -module.exports = async (b = null) => { - return {}; -}; diff --git a/tests/gateway/functions/buffer_nested_in_params.js b/tests/gateway/functions/buffer_nested_in_params.js deleted file mode 100644 index 476495b..0000000 --- a/tests/gateway/functions/buffer_nested_in_params.js +++ /dev/null @@ -1,11 +0,0 @@ -/** -* @param {?object} upload -* @ {object} attributes The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. -* @ {string} name An optional new name for the file. If specified, the file will be renamed when the new version is uploaded. -* @ {?string} content_modified_at Defines the time the file was last modified at. If not set, the upload time will be used. -* @ {buffer} file The content of the file to upload to Box. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code. -* @returns {?object} Files A list of files -*/ -module.exports = async (upload = null) => { - return {}; -}; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 69eba6a..ab708f1 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2526,110 +2526,6 @@ module.exports = (expect) => { }); }); - it('Should accept buffer in params', done => { - request('POST', {}, '/buffer_in_params/', { - b: Buffer.from('This is a buffer') - }, - (err, res, result) => { - - expect(err).to.not.exist; - expect(res.statusCode).to.equal(200); - expect(result).to.exist; - expect(result).to.be.an('object'); - expect(result).to.deep.equal({}); - done(); - - }); - }); - - it('Should accept buffer nested in params', done => { - request('POST', {}, '/buffer_nested_in_params/', { - upload: { - attributes: { - name: 'sample.txt', - parent: { - id: '116338107161' - } - }, - file: Buffer.from('This is a buffer') - } - }, - (err, res, result) => { - - expect(err).to.not.exist; - expect(res.statusCode).to.equal(200); - expect(result).to.exist; - expect(result).to.be.an('object'); - expect(result).to.deep.equal({}); - done(); - - }); - }); - - it('Should give ParameterError if non-buffer passed in for buffer param', done => { - request('POST', {}, '/buffer_in_params/', { - b: {data: 'some data'} - }, - (err, res, result) => { - - expect(err).to.not.exist; - expect(res.statusCode).to.equal(400); - expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); - expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); - expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); - expect(result.error).to.exist; - expect(result.error.type).to.equal('ParameterError'); - expect(result.error.details).to.exist; - expect(result.error.details.b).to.exist; - expect(result.error.details.b.expected).to.exist; - expect(result.error.details.b.expected.type).to.equal('buffer'); - expect(result.error.details.b.actual).to.exist; - expect(result.error.details.b.actual.type).to.equal('object'); - expect(result.error.details.b.actual.value).to.deep.equal({data: 'some data'}); - done(); - - }); - }); - - it('Should give ParameterError if non-buffer passed in for nested buffer param', done => { - request('POST', {}, '/buffer_nested_in_params/', { - upload: { - attributes: { - name: 'sample.txt', - parent: { - id: '116338107161' - } - }, - file: {type: 'Buffer', data: '123', b: 4444, c: 555} - } - }, - (err, res, result) => { - - expect(err).to.not.exist; - expect(res.statusCode).to.equal(400); - expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); - expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); - expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); - expect(result.error).to.exist; - expect(result.error.type).to.equal('ParameterError'); - expect(result.error.details).to.exist; - expect(result.error.details.upload).to.exist; - expect(result.error.details.upload.expected).to.exist; - expect(result.error.details.upload.expected.type).to.equal('object'); - expect(result.error.details.upload.expected.schema).to.exist; - expect(result.error.details.upload.expected.schema).to.have.length(2); - expect(result.error.details.upload.expected.schema[1].name).to.equal('file'); - expect(result.error.details.upload.expected.schema[1].type).to.equal('buffer'); - expect(result.error.details.upload.actual).to.exist; - expect(result.error.details.upload.actual.value).to.exist; - expect(result.error.details.upload.actual.value.file).to.exist; - expect(result.error.details.upload.actual.value.file).to.deep.equal({"type": "Buffer", "data": "123", "b": 4444, "c": 555}); - done(); - - }); - }); - - it('Should return a nested mocked buffer as if it were a real one, if type "any"', done => { request('POST', {}, '/buffer_nested_any_return/', {}, (err, res, result) => { diff --git a/tests/runner.js b/tests/runner.js index f033c13..eb7ebf2 100644 --- a/tests/runner.js +++ b/tests/runner.js @@ -57,7 +57,7 @@ describe('LibDoc', () => { it('Should read all functions correctly', () => { - expect(Object.keys(definitions).length).to.equal(25); + expect(Object.keys(definitions).length).to.equal(24); expect(definitions).to.haveOwnProperty(''); expect(definitions).to.haveOwnProperty('test'); expect(definitions).to.haveOwnProperty('returns'); @@ -77,7 +77,6 @@ describe('LibDoc', () => { expect(definitions).to.haveOwnProperty('options'); expect(definitions).to.haveOwnProperty('keyql_options'); expect(definitions).to.haveOwnProperty('alternate_schemas'); - expect(definitions).to.haveOwnProperty('buffer_nested_in_params'); }); @@ -999,47 +998,6 @@ describe('LibDoc', () => { }); - - it('Should read "buffer_nested_in_params"', () => { - - let params = definitions['buffer_nested_in_params'].params; - expect(params.length).to.equal(1); - - expect(params).to.deep.equal([ - { - name: 'upload', - type: 'object', - description: '', - schema: [ - { - name: 'attributes', - type: 'object', - description: 'The additional attributes of the file being uploaded. Mainly the name and the parent folder. These attributes are part of the multi part request body and are in JSON format. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code.', - schema: [ - { - name: 'name', - type: 'string', - description: 'An optional new name for the file. If specified, the file will be renamed when the new version is uploaded.', - }, - { - name: 'content_modified_at', - type: 'string', - description: 'Defines the time the file was last modified at. If not set, the upload time will be used.', - defaultValue: null - } - ] - }, - { - name: 'file', - type: 'buffer', - description: 'The content of the file to upload to Box. The `attributes` part of the body must come before the `file` part. Requests that do not follow this format when uploading the file will receive a HTTP `400` error with a `metadata_after_file_contents` error code.' - } - ], - defaultValue: null - } - ]); - }); - it('Should read "options" parameters', () => { let params = definitions['options'].params; From 066045fc823948c183ecbf4240f1620dae117e62 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Sun, 20 Dec 2020 13:43:58 -0800 Subject: [PATCH 009/117] Add in support for inline functions --- lib/gateway.js | 60 +++++-- lib/parser/function_parser.js | 3 +- .../nodejs/comment_definition_parser.js | 1 + lib/parser/nodejs/exported_function_parser.js | 157 ++++++++++-------- lib/types.js | 39 ++++- package.json | 2 +- tests/files/cases/inline_valid_addition.js | 5 + tests/files/cases/inline_valid_context.js | 4 + tests/files/comprehensive/inline.js | 1 + tests/gateway/functions/inline/buffer.js | 3 + tests/gateway/functions/inline/buffer_mock.js | 1 + tests/gateway/functions/inline/context.js | 1 + .../inline/extended_http_is_object.js | 6 + tests/gateway/functions/inline/http.js | 5 + .../functions/inline/http_no_status.js | 4 + tests/gateway/functions/inline/number.js | 1 + tests/gateway/tests.js | 103 +++++++++++- tests/runner.js | 18 +- 18 files changed, 329 insertions(+), 85 deletions(-) create mode 100644 tests/files/cases/inline_valid_addition.js create mode 100644 tests/files/cases/inline_valid_context.js create mode 100644 tests/files/comprehensive/inline.js create mode 100644 tests/gateway/functions/inline/buffer.js create mode 100644 tests/gateway/functions/inline/buffer_mock.js create mode 100644 tests/gateway/functions/inline/context.js create mode 100644 tests/gateway/functions/inline/extended_http_is_object.js create mode 100644 tests/gateway/functions/inline/http.js create mode 100644 tests/gateway/functions/inline/http_no_status.js create mode 100644 tests/gateway/functions/inline/number.js diff --git a/lib/gateway.js b/lib/gateway.js index 5878efa..09d3020 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -1,3 +1,4 @@ +const fs = require('fs'); const http = require('http'); const path = require('path'); const url = require('url'); @@ -10,6 +11,8 @@ const uuid = require('uuid'); const types = require('./types.js'); const background = require('./background.js'); +const AsyncFunction = Object.getPrototypeOf(async function () {}).constructor; + const DEFAULT_PORT = 8170; const DEFAULT_NAME = 'FunctionScript.Gateway'; const DEFAULT_MAX_REQUEST_SIZE_MB = 128; @@ -36,6 +39,7 @@ class Gateway extends EventEmitter { 'x-authorization-keys': 'keys', 'x-authorization-providers': 'providers' }; + this._inlineCache = []; this._requests = {}; this._requestCount = 0; } @@ -384,12 +388,12 @@ class Gateway extends EventEmitter { let params; if (!contentType) { - throw new Error('Must Supply Content-Type'); + throw new Error('Must supply "Content-Type" header'); } else if (!buffer.length) { params = query; convert = true; } else if (buffer.length && Object.keys(query).length) { - throw new Error('Can not specify query parameters and POST data'); + throw new Error('Can not specify both query parameters and POST data'); } else if (contentType === 'application/x-www-form-urlencoded') { try { params = this.__parseParamsFromEncodedURL__(buffer.toString()); @@ -412,7 +416,7 @@ class Gateway extends EventEmitter { let type = types.check(params); if (type !== 'object') { - throw new Error('Invalid JSON: Must be Object'); + throw new Error('Invalid JSON: Must be an Object'); } if (proxyParameters) { @@ -829,8 +833,20 @@ class Gateway extends EventEmitter { let member = definition.returns.members.find(m => m[0] === value); value = member[1]; } + let httpResponse; + try { + httpResponse = types.httpResponse(definition.returns.type, value, headers); + } catch (e) { + let details = { + returns: { + message: e.message, + invalid: true + } + }; + this.log(req, `Value Error (${dt}ms): ${details.returns.message}`, 'error'); + return this.__valueError__(req, res, details); + } this.log(req, `Execution Complete (${dt}ms)`); - let httpResponse = types.httpResponse(definition.returns.type, value, headers); return this.__complete__(req, res, httpResponse.body, httpResponse.headers, httpResponse.statusCode); } }); @@ -914,18 +930,32 @@ class Gateway extends EventEmitter { execute (definition, functionArgs, data, callback) { let fn; - try { - let rpath = require.resolve(path.join(process.cwd(), this.root, definition.pathname)); - delete require[rpath]; - fn = require(rpath); - } catch (e) { - if (!(e instanceof Error)) { - let value = e; - e = new Error(e || ''); - e.value = value; + if (definition.format.inline) { + fn = this._inlineCache[definition.pathname]; + if (!fn) { + try { + let fnString = fs.readFileSync(path.join(process.cwd(), this.root, definition.pathname)).toString(); + fn = new AsyncFunction('context', fnString); + this._inlineCache[definition.pathname] = fn; + } catch (e) { + e.fatal = true; + return callback(e); + } + } + } else { + try { + let rpath = require.resolve(path.join(process.cwd(), this.root, definition.pathname)); + delete require[rpath]; + fn = require(rpath); + } catch (e) { + if (!(e instanceof Error)) { + let value = e; + e = new Error(e || ''); + e.value = value; + } + e.fatal = true; + return callback(e); } - e.fatal = true; - return callback(e); } // Catch unhandled promise rejections once, starting now. // This applies to local testing only. diff --git a/lib/parser/function_parser.js b/lib/parser/function_parser.js index ad0b1b9..89cee0a 100644 --- a/lib/parser/function_parser.js +++ b/lib/parser/function_parser.js @@ -161,7 +161,8 @@ FunctionParser.definitionFields = { 'format': format => { return format && typeof format === 'object' && - typeof format.language === 'string'; + typeof format.language === 'string' && + typeof format.inline === 'boolean'; }, 'description': description => typeof description === 'string', 'bg': bg => { diff --git a/lib/parser/nodejs/comment_definition_parser.js b/lib/parser/nodejs/comment_definition_parser.js index f63adce..d8f51be 100644 --- a/lib/parser/nodejs/comment_definition_parser.js +++ b/lib/parser/nodejs/comment_definition_parser.js @@ -297,6 +297,7 @@ class CommentDefinitionParser { parse (name, commentString) { + commentString = commentString || ''; return this.getLines(commentString) .map(line => this.stripComments(line)) .reduce((semanticsList, line) => this.reduceLines(semanticsList, line), []) diff --git a/lib/parser/nodejs/exported_function_parser.js b/lib/parser/nodejs/exported_function_parser.js index 74765c3..46a8010 100644 --- a/lib/parser/nodejs/exported_function_parser.js +++ b/lib/parser/nodejs/exported_function_parser.js @@ -80,15 +80,11 @@ class ExportedFunctionParser { ) }); - if (!statements.length) { - throw new Error(`Nothing exported from file via "module.exports"`); - } - if (statements.length > 1) { throw new Error(`Too many exports from file via "module.exports"`); } - return statements[0]; + return statements[0] || null; } @@ -105,69 +101,79 @@ class ExportedFunctionParser { parseParamsFromFunctionExpression(functionExpression) { - let params = functionExpression.params; + if (!functionExpression) { + return { + async: true, + inline: true, + context: {}, + params: [] + }; + } else { + let params = functionExpression.params; - if (!functionExpression.async) { - let lastParam = params.pop(); - if (!lastParam || lastParam.type !== 'Identifier' || lastParam.name !== 'callback') { - throw new Error(`Non-async functions must have parameter named "callback" as the last argument`); + if (!functionExpression.async) { + let lastParam = params.pop(); + if (!lastParam || lastParam.type !== 'Identifier' || lastParam.name !== 'callback') { + throw new Error(`Non-async functions must have parameter named "callback" as the last argument`); + } } - } - let paramsObject = {}; + let paramsObject = {}; - if (params.length) { - let lastParam = params.pop(); - if (lastParam.type === 'Identifier' && lastParam.name === 'context') { - paramsObject.context = {}; - } else { - params.push(lastParam); + if (params.length) { + let lastParam = params.pop(); + if (lastParam.type === 'Identifier' && lastParam.name === 'context') { + paramsObject.context = {}; + } else { + params.push(lastParam); + } } - } - return { - async: functionExpression.async, - context: paramsObject.context || null, - params: params.slice() - .reverse() - .map((param, i) => { - let formattedParam; - if (param.type === 'Identifier') { - if (param.name === 'context') { - throw new Error(`When specified, "context" must be the last provided (non-callback) argument`); - } - if (functionExpression.async && param.name === 'callback') { - throw new Error(`Async functions can not have a parameter named "callback"`); - } - if (!this.validateFunctionParamName(param.name)) { - throw new Error(`Invalid parameter name "${param.name}"`); - } - formattedParam = {name: param.name}; - } else if (param.type === 'AssignmentPattern') { - if (param.left.type !== 'Identifier') { - throw new Error('Expected Identifier in Left-Hand of AssignmentPattern'); - } - if (param.left.name === 'context') { - throw new Error(`When specified, "context" can not be assigned a default value`); - } - if (functionExpression.async && param.left.name === 'callback') { - throw new Error(`Async functions can not have a parameter named "callback"`); + return { + async: functionExpression.async, + inline: false, + context: paramsObject.context || null, + params: params.slice() + .reverse() + .map((param, i) => { + let formattedParam; + if (param.type === 'Identifier') { + if (param.name === 'context') { + throw new Error(`When specified, "context" must be the last provided (non-callback) argument`); + } + if (functionExpression.async && param.name === 'callback') { + throw new Error(`Async functions can not have a parameter named "callback"`); + } + if (!this.validateFunctionParamName(param.name)) { + throw new Error(`Invalid parameter name "${param.name}"`); + } + formattedParam = {name: param.name}; + } else if (param.type === 'AssignmentPattern') { + if (param.left.type !== 'Identifier') { + throw new Error('Expected Identifier in Left-Hand of AssignmentPattern'); + } + if (param.left.name === 'context') { + throw new Error(`When specified, "context" can not be assigned a default value`); + } + if (functionExpression.async && param.left.name === 'callback') { + throw new Error(`Async functions can not have a parameter named "callback"`); + } + if (!this.validateFunctionParamName(param.left.name)) { + throw new Error(`Invalid parameter name "${param.left.name}"`); + } + let defaultValue = this.validateDefaultParameterExpression(param.left.name, param.right); + formattedParam = { + name: param.left.name, + type: this.literals[param.right.type], + defaultValue: defaultValue + }; } - if (!this.validateFunctionParamName(param.left.name)) { - throw new Error(`Invalid parameter name "${param.left.name}"`); - } - let defaultValue = this.validateDefaultParameterExpression(param.left.name, param.right); - formattedParam = { - name: param.left.name, - type: this.literals[param.right.type], - defaultValue: defaultValue - }; - } - paramsObject[formattedParam.name] = formattedParam; - return formattedParam; - }) - .reverse() - }; + paramsObject[formattedParam.name] = formattedParam; + return formattedParam; + }) + .reverse() + }; + } } @@ -264,9 +270,28 @@ class ExportedFunctionParser { parse(name, fileString) { - let moduleStatement = this.parseModuleExportsStatement(fileString); - let functionExpression = this.parseFunctionExpressionFromModuleExportsStatement(moduleStatement); - let comment = this.parseCommentFromModuleExportsStatement(moduleStatement); + let initialError = null; + + let moduleStatement; + let comment = null; + let functionExpression = null; + + try { + moduleStatement = this.parseModuleExportsStatement(fileString); + } catch (e) { + if (e.message.startsWith(`'return' outside of function`)) { + moduleStatement = this.parseModuleExportsStatement(`async function __inline__ (context) {\n${fileString}\n}`); + moduleStatement = null; + } else { + throw e; + } + } + + if (moduleStatement) { + comment = this.parseCommentFromModuleExportsStatement(moduleStatement); + functionExpression = this.parseFunctionExpressionFromModuleExportsStatement(moduleStatement); + } + let commentDefinition = this.commentDefinitionParser.parse(name, comment); let functionDefinition = this.parseParamsFromFunctionExpression(functionExpression); @@ -277,6 +302,7 @@ class ExportedFunctionParser { let acl = commentDefinition.acl; let keys = commentDefinition.keys; let isAsync = functionDefinition.async; + let isInline = functionDefinition.inline; let params = this.compareParameters(functionDefinition.params, commentDefinition.params); let returns = commentDefinition.returns; @@ -284,7 +310,8 @@ class ExportedFunctionParser { name: name, format: { language: this.language, - async: isAsync + async: isAsync, + inline: isInline }, description: description, bg: bg, diff --git a/lib/types.js b/lib/types.js index ade9102..9a6ce1a 100644 --- a/lib/types.js +++ b/lib/types.js @@ -86,7 +86,30 @@ const _validations = { ? members.some(member => member[0] === v) : false; }, - 'object.http': v => _validations.object(v), + 'object.http': v => { + let isObject = _validations.object(v); + if (!isObject) { + return false; + } else { + return ( + ( + Object.keys(v).length === 1 && + v.hasOwnProperty('body') + ) || + ( + Object.keys(v).length === 2 && + v.hasOwnProperty('body') && + v.hasOwnProperty('headers') + ) || + ( + Object.keys(v).length === 3 && + v.hasOwnProperty('body') && + v.hasOwnProperty('headers') && + v.hasOwnProperty('statusCode') + ) + ); + } + }, 'object.keyql.query': (v, schemas = [], options = []) => { try { KeyQL.validateQueryObject(v, options); @@ -347,6 +370,20 @@ const _httpResponse = { body: _convertBuffers(v, true) }; }, + 'any': (v, headers) => { + if (_validations['object.http'](v)) { + return _sanitizations['object.http'](v); + } else { + headers = headers || {}; + let statusCode = headers.status || 200; // legacy support + delete headers.status; + return { + statusCode: statusCode, + headers: headers, + body: _convertBuffers(v, true) + }; + } + }, 'object.http': (v, headers) => { v.headers = Object.keys(v.headers || {}).reduce((headers, key) => { headers[key] = key.startsWith('x-') diff --git a/package.json b/package.json index 786382b..5699927 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "1.8.0", + "version": "2.0.0", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/files/cases/inline_valid_addition.js b/tests/files/cases/inline_valid_addition.js new file mode 100644 index 0000000..cc20675 --- /dev/null +++ b/tests/files/cases/inline_valid_addition.js @@ -0,0 +1,5 @@ +// Valid inline function +let a = 1; +let b = 2; + +return a + b; diff --git a/tests/files/cases/inline_valid_context.js b/tests/files/cases/inline_valid_context.js new file mode 100644 index 0000000..887f0bf --- /dev/null +++ b/tests/files/cases/inline_valid_context.js @@ -0,0 +1,4 @@ +// Valid inline function +console.log(context); + +return context.params; diff --git a/tests/files/comprehensive/inline.js b/tests/files/comprehensive/inline.js new file mode 100644 index 0000000..eb9f5f8 --- /dev/null +++ b/tests/files/comprehensive/inline.js @@ -0,0 +1 @@ +return context.params; diff --git a/tests/gateway/functions/inline/buffer.js b/tests/gateway/functions/inline/buffer.js new file mode 100644 index 0000000..71038f2 --- /dev/null +++ b/tests/gateway/functions/inline/buffer.js @@ -0,0 +1,3 @@ +let buffer = Buffer.from('lol'); +buffer.contentType = 'text/html'; +return buffer; diff --git a/tests/gateway/functions/inline/buffer_mock.js b/tests/gateway/functions/inline/buffer_mock.js new file mode 100644 index 0000000..b09395d --- /dev/null +++ b/tests/gateway/functions/inline/buffer_mock.js @@ -0,0 +1 @@ +return {_base64: Buffer.from('lol').toString('base64')}; diff --git a/tests/gateway/functions/inline/context.js b/tests/gateway/functions/inline/context.js new file mode 100644 index 0000000..9e1e721 --- /dev/null +++ b/tests/gateway/functions/inline/context.js @@ -0,0 +1 @@ +return context; diff --git a/tests/gateway/functions/inline/extended_http_is_object.js b/tests/gateway/functions/inline/extended_http_is_object.js new file mode 100644 index 0000000..cbdf15e --- /dev/null +++ b/tests/gateway/functions/inline/extended_http_is_object.js @@ -0,0 +1,6 @@ +return { + statusCode: 429, + headers: {'Content-Type': 'text/html'}, + body: 'lol', + extend: true +}; diff --git a/tests/gateway/functions/inline/http.js b/tests/gateway/functions/inline/http.js new file mode 100644 index 0000000..9383865 --- /dev/null +++ b/tests/gateway/functions/inline/http.js @@ -0,0 +1,5 @@ +return { + statusCode: 429, + headers: {'Content-Type': 'text/html'}, + body: Buffer.from('lol') +}; diff --git a/tests/gateway/functions/inline/http_no_status.js b/tests/gateway/functions/inline/http_no_status.js new file mode 100644 index 0000000..f7f69b6 --- /dev/null +++ b/tests/gateway/functions/inline/http_no_status.js @@ -0,0 +1,4 @@ +return { + headers: {'Content-Type': 'text/html'}, + body: Buffer.from('lol') +}; diff --git a/tests/gateway/functions/inline/number.js b/tests/gateway/functions/inline/number.js new file mode 100644 index 0000000..b3074e4 --- /dev/null +++ b/tests/gateway/functions/inline/number.js @@ -0,0 +1 @@ +return 1988; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index ab708f1..f41af7c 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -314,7 +314,7 @@ module.exports = (expect) => { expect(res.statusCode).to.equal(400); expect(result.error).to.exist; expect(result.error.type).to.equal('ClientError'); - expect(result.error.message).to.equal('Bad Request: Invalid JSON: Must be Object'); + expect(result.error.message).to.equal('Bad Request: Invalid JSON: Must be an Object'); done(); }); @@ -2690,6 +2690,107 @@ module.exports = (expect) => { }); }); + it('Should populate context in "inline/context"', done => { + request('POST', {}, '/inline/context/', {a: 1, b: 2}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result.http.method).to.equal('POST'); + expect(result.params).to.deep.equal({a: 1, b: 2}); + done(); + + }); + }); + + it('Should output buffer from "inline/buffer"', done => { + request('POST', {}, '/inline/buffer/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html'); + expect(result).to.exist; + expect(result).to.be.instanceof(Buffer); + expect(result.toString()).to.equal('lol'); + done(); + + }); + }); + + it('Should output buffer from "inline/buffer_mock"', done => { + request('POST', {}, '/inline/buffer_mock/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/octet-stream'); + expect(result).to.exist; + expect(result).to.be.instanceof(Buffer); + expect(result.toString()).to.equal('lol'); + done(); + + }); + }); + + it('Should output buffer from "inline/http"', done => { + request('POST', {}, '/inline/http/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(429); + expect(res.headers['content-type']).to.equal('text/html'); + expect(result).to.exist; + expect(result).to.be.instanceof(Buffer); + expect(result.toString()).to.equal('lol'); + done(); + + }); + }); + + it('Should output buffer from "inline/http_no_status"', done => { + request('POST', {}, '/inline/http_no_status/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html'); + expect(result).to.exist; + expect(result).to.be.instanceof(Buffer); + expect(result.toString()).to.equal('lol'); + done(); + + }); + }); + + it('Should output object from "inline/extended_http_is_object"', done => { + request('POST', {}, '/inline/extended_http_is_object/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result).to.deep.equal({ + statusCode: 429, + headers: {'Content-Type': 'text/html'}, + body: 'lol', + extend: true + }); + done(); + + }); + }); + + it('Should output object from "inline/number"', done => { + request('POST', {}, '/inline/number/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result).to.equal(1988); + done(); + + }); + }); + after(() => FaaSGateway.close()); }; diff --git a/tests/runner.js b/tests/runner.js index eb7ebf2..fdb85a0 100644 --- a/tests/runner.js +++ b/tests/runner.js @@ -57,7 +57,7 @@ describe('LibDoc', () => { it('Should read all functions correctly', () => { - expect(Object.keys(definitions).length).to.equal(24); + expect(Object.keys(definitions).length).to.equal(25); expect(definitions).to.haveOwnProperty(''); expect(definitions).to.haveOwnProperty('test'); expect(definitions).to.haveOwnProperty('returns'); @@ -77,6 +77,7 @@ describe('LibDoc', () => { expect(definitions).to.haveOwnProperty('options'); expect(definitions).to.haveOwnProperty('keyql_options'); expect(definitions).to.haveOwnProperty('alternate_schemas'); + expect(definitions).to.haveOwnProperty('inline'); }); @@ -106,6 +107,7 @@ describe('LibDoc', () => { expect(definitions['enum_nested'].pathname).to.equal('enum_nested.js'); expect(definitions['enum_nested_optional'].pathname).to.equal('enum_nested_optional.js'); expect(definitions['options'].pathname).to.equal('options.js'); + expect(definitions['inline'].pathname).to.equal('inline.js'); }); @@ -128,6 +130,7 @@ describe('LibDoc', () => { expect(definitions['enum_nested'].description).to.equal('Test Nested Enum'); expect(definitions['enum_nested_optional'].description).to.equal('Test Optional Nested Enum'); expect(definitions['options'].description).to.equal('Populate options properly'); + expect(definitions['inline'].description).to.equal(''); }); @@ -150,6 +153,8 @@ describe('LibDoc', () => { expect(definitions['enum_nested'].context).to.exist; expect(definitions['enum_nested_optional'].context).to.exist; expect(definitions['options'].context).to.equal(null); + expect(definitions['inline'].context).to.exist; + }); @@ -171,6 +176,7 @@ describe('LibDoc', () => { expect(definitions['enum_nested'].returns.description).to.equal('A boolean value'); expect(definitions['enum_nested_optional'].returns.description).to.equal('A boolean value'); expect(definitions['options'].returns.description).to.equal('a Boolean?'); + expect(definitions['inline'].returns.description).to.equal(''); }); @@ -192,6 +198,7 @@ describe('LibDoc', () => { expect(definitions['enum_nested'].returns.type).to.equal('boolean'); expect(definitions['enum_nested'].returns.type).to.equal('boolean'); expect(definitions['options'].returns.type).to.equal('boolean'); + expect(definitions['inline'].returns.type).to.equal('any'); }); @@ -214,6 +221,7 @@ describe('LibDoc', () => { expect(definitions['enum_nested'].charge).to.equal(1); expect(definitions['enum_nested_optional'].charge).to.equal(1); expect(definitions['options'].charge).to.equal(1); + expect(definitions['inline'].charge).to.equal(1); }); @@ -255,6 +263,7 @@ describe('LibDoc', () => { expect(definitions['enum_nested_optional'].keys).to.have.length(0); expect(definitions['options'].keys).to.be.an('Array'); expect(definitions['options'].keys).to.have.length(0); + expect(definitions['inline'].keys).to.have.length(0); }); @@ -609,6 +618,13 @@ describe('LibDoc', () => { }); + it('Should read "inline" parameters', () => { + + let params = definitions['inline'].params; + expect(params.length).to.equal(0); + + }); + it('Should have a named return value and description', () => { let definition = definitions['named_return']; From 4d59d4ce2796857927b00aabb277a0f20b309c01 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Sun, 20 Dec 2020 14:15:41 -0800 Subject: [PATCH 010/117] Validate pathname field --- lib/parser/function_parser.js | 1 + package.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/parser/function_parser.js b/lib/parser/function_parser.js index 89cee0a..a3de634 100644 --- a/lib/parser/function_parser.js +++ b/lib/parser/function_parser.js @@ -158,6 +158,7 @@ FunctionParser.extensions = { FunctionParser.definitionFields = { 'name': name => typeof name === 'string', + 'pathname': pathname => typeof pathname === 'string', 'format': format => { return format && typeof format === 'object' && diff --git a/package.json b/package.json index 5699927..2a97279 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.0", + "version": "2.0.1", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", From efda7b1cbe6a04994019399b8179d75910ec0861 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Sun, 20 Dec 2020 16:05:09 -0800 Subject: [PATCH 011/117] Support for require() in inline functions --- lib/gateway.js | 2 +- package.json | 2 +- tests/gateway/functions/inline/require.js | 3 +++ tests/gateway/tests.js | 13 +++++++++++++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 tests/gateway/functions/inline/require.js diff --git a/lib/gateway.js b/lib/gateway.js index 09d3020..be86a02 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -935,7 +935,7 @@ class Gateway extends EventEmitter { if (!fn) { try { let fnString = fs.readFileSync(path.join(process.cwd(), this.root, definition.pathname)).toString(); - fn = new AsyncFunction('context', fnString); + fn = new AsyncFunction('require', 'context', fnString).bind(null, require); this._inlineCache[definition.pathname] = fn; } catch (e) { e.fatal = true; diff --git a/package.json b/package.json index 2a97279..e4492f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.1", + "version": "2.0.2", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/functions/inline/require.js b/tests/gateway/functions/inline/require.js new file mode 100644 index 0000000..48d0999 --- /dev/null +++ b/tests/gateway/functions/inline/require.js @@ -0,0 +1,3 @@ +const fs = require('fs'); + +return 'hello'; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index f41af7c..4498aba 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2791,6 +2791,19 @@ module.exports = (expect) => { }); }); + it('Should allow you to use "require()"', done => { + request('POST', {}, '/inline/require/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result).to.equal('hello'); + done(); + + }); + }); + after(() => FaaSGateway.close()); }; From 0e80246ea84f70081ea29491eed5ea02ed919d4a Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 22 Dec 2020 11:07:55 -0800 Subject: [PATCH 012/117] Export comment definition parser as well --- lib/parser/function_parser.js | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/parser/function_parser.js b/lib/parser/function_parser.js index a3de634..1d84fc2 100644 --- a/lib/parser/function_parser.js +++ b/lib/parser/function_parser.js @@ -152,6 +152,10 @@ FunctionParser.parsers = { 'nodejs': require('./nodejs/exported_function_parser.js') }; +FunctionParser.commentParsers = { + 'nodejs': require('./nodejs/comment_definition_parser.js') +}; + FunctionParser.extensions = { '.js': 'nodejs' }; diff --git a/package.json b/package.json index e4492f2..5e27298 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.2", + "version": "2.0.3", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", From 78c7b36cc88e46b72c302770f1a0a222b70f244a Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Mon, 28 Dec 2020 19:33:03 -0800 Subject: [PATCH 013/117] Update relative requires --- lib/gateway.js | 11 ++++++++++- package.json | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/gateway.js b/lib/gateway.js index be86a02..273e1b3 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -13,6 +13,15 @@ const background = require('./background.js'); const AsyncFunction = Object.getPrototypeOf(async function () {}).constructor; +const relrequire = function (pathname, name) { + let relpath = pathname.split('/').slice(0, -1).join('/'); + let relname = name; + if (!name.startsWith('@') && name.indexOf('/') > 0) { + relname = path.join(process.cwd(), relpath, name); + } + return require(relname); +}; + const DEFAULT_PORT = 8170; const DEFAULT_NAME = 'FunctionScript.Gateway'; const DEFAULT_MAX_REQUEST_SIZE_MB = 128; @@ -935,7 +944,7 @@ class Gateway extends EventEmitter { if (!fn) { try { let fnString = fs.readFileSync(path.join(process.cwd(), this.root, definition.pathname)).toString(); - fn = new AsyncFunction('require', 'context', fnString).bind(null, require); + fn = new AsyncFunction('require', 'context', fnString).bind(null, relrequire.bind(null, definition.pathname)); this._inlineCache[definition.pathname] = fn; } catch (e) { e.fatal = true; diff --git a/package.json b/package.json index 5e27298..1cf7864 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.3", + "version": "2.0.4", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", From 386444e928ae38000bc003e652fa0e65b29f74a5 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 29 Dec 2020 07:40:25 -0800 Subject: [PATCH 014/117] Add support for top-level await --- lib/parser/nodejs/exported_function_parser.js | 5 ++++- package.json | 2 +- tests/gateway/tests.js | 13 +++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/parser/nodejs/exported_function_parser.js b/lib/parser/nodejs/exported_function_parser.js index 46a8010..4e0c2c3 100644 --- a/lib/parser/nodejs/exported_function_parser.js +++ b/lib/parser/nodejs/exported_function_parser.js @@ -279,7 +279,10 @@ class ExportedFunctionParser { try { moduleStatement = this.parseModuleExportsStatement(fileString); } catch (e) { - if (e.message.startsWith(`'return' outside of function`)) { + if ( + e.message.startsWith(`'return' outside of function`) || + e.message.startsWith(`Unexpected token, expected ;`) + ) { moduleStatement = this.parseModuleExportsStatement(`async function __inline__ (context) {\n${fileString}\n}`); moduleStatement = null; } else { diff --git a/package.json b/package.json index 1cf7864..e0f11a4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.4", + "version": "2.0.5", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 4498aba..385c68c 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2804,6 +2804,19 @@ module.exports = (expect) => { }); }); + it('Should allow you to use "await"', done => { + request('POST', {}, '/inline/await/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result).to.equal('hello world'); + done(); + + }); + }); + after(() => FaaSGateway.close()); }; From 5485fa57258142048698552872717a35347a9d29 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 29 Dec 2020 08:02:26 -0800 Subject: [PATCH 015/117] Add in files --- tests/files/cases/function_valid_inline.js | 1 + tests/files/cases/function_valid_inline_await.js | 3 +++ tests/files/cases/function_valid_inline_empty.js | 1 + tests/gateway/functions/inline/await.js | 3 +++ 4 files changed, 8 insertions(+) create mode 100644 tests/files/cases/function_valid_inline.js create mode 100644 tests/files/cases/function_valid_inline_await.js create mode 100644 tests/files/cases/function_valid_inline_empty.js create mode 100644 tests/gateway/functions/inline/await.js diff --git a/tests/files/cases/function_valid_inline.js b/tests/files/cases/function_valid_inline.js new file mode 100644 index 0000000..8bfb529 --- /dev/null +++ b/tests/files/cases/function_valid_inline.js @@ -0,0 +1 @@ +return 'lol'; // valid diff --git a/tests/files/cases/function_valid_inline_await.js b/tests/files/cases/function_valid_inline_await.js new file mode 100644 index 0000000..f59a515 --- /dev/null +++ b/tests/files/cases/function_valid_inline_await.js @@ -0,0 +1,3 @@ +const sleep = t => new Promise(res => setTimeout(() => res(null), t)) +await sleep(100); +return `hello world`; diff --git a/tests/files/cases/function_valid_inline_empty.js b/tests/files/cases/function_valid_inline_empty.js new file mode 100644 index 0000000..fce0b49 --- /dev/null +++ b/tests/files/cases/function_valid_inline_empty.js @@ -0,0 +1 @@ +console.log('wat'); // valid diff --git a/tests/gateway/functions/inline/await.js b/tests/gateway/functions/inline/await.js new file mode 100644 index 0000000..e7a27ce --- /dev/null +++ b/tests/gateway/functions/inline/await.js @@ -0,0 +1,3 @@ +const sleep = t => new Promise(res => setTimeout(() => res(null), t)) +await sleep(10); +return `hello world`; From 0a1d5667915b25b3907cc5c36c39a662aee64d8e Mon Sep 17 00:00:00 2001 From: Jacob Date: Sun, 3 Jan 2021 10:41:36 -0800 Subject: [PATCH 016/117] Adds new error types --- lib/gateway.js | 54 +++++++++++++++++++++++++++++++++ tests/gateway/tests.js | 69 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+) diff --git a/lib/gateway.js b/lib/gateway.js index 273e1b3..28c64f6 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -291,6 +291,54 @@ class Gateway extends EventEmitter { ); } + __saveError__(req, res, msg) { + let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + return this.__endRequest__( + 503, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'SaveError', + message: msg + } + }) + ); + } + + __maintenanceError__(req, res, msg) { + let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + return this.__endRequest__( + 403, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'MaintenanceError', + message: msg + } + }) + ); + } + + __updateError__(req, res, msg) { + let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + return this.__endRequest__( + 409, + this.__formatHeaders__(headers), + req, + res, + JSON.stringify({ + error: { + type: 'UpdateError', + message: msg + } + }) + ); + } + __fatalError__ (req, res, msg, stack) { let error = { type: 'FatalError', @@ -659,6 +707,12 @@ class Gateway extends EventEmitter { return this.__paymentRequiredError__(req, res, err.message); } else if (err.rateLimitError) { return this.__rateLimitError__(req, res, err.rate && err.rate.count, err.rate && err.rate.period); + } else if (err.saveError) { + return this.__saveError__(req, res, err.message); + } else if (err.maintenanceError) { + return this.__maintenanceError__(req, res, err.message); + } else if (err.updateError) { + return this.__updateError__(req, res, err.message); } this.log(req, `ClientError: ${err.message}`, 'error'); return this.__clientError__(req, res, err.message, err.statusCode || 400); diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 385c68c..88313eb 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -999,6 +999,75 @@ module.exports = (expect) => { }); + it('Should register an error in the resolve step with type SaveError', done => { + + let originalResolveFn = FaaSGateway.resolve; + FaaSGateway.resolve = (req, res, buffer, callback) => { + let error = new Error('There was a problem when saving your API.'); + error.saveError = true; + return callback(error); + }; + + request('POST', {}, '/my_function/', {}, (err, res, result) => { + + FaaSGateway.resolve = originalResolveFn; + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(503); + expect(result.error).to.exist; + expect(result.error.type).to.equal('SaveError'); + done(); + + }); + + }); + + it('Should register an error in the resolve step with type MaintenanceError', done => { + + let originalResolveFn = FaaSGateway.resolve; + FaaSGateway.resolve = (req, res, buffer, callback) => { + let error = new Error('Your API is in maintenance mode.'); + error.maintenanceError = true; + return callback(error); + }; + + request('POST', {}, '/my_function/', {}, (err, res, result) => { + + FaaSGateway.resolve = originalResolveFn; + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(403); + expect(result.error).to.exist; + expect(result.error.type).to.equal('MaintenanceError'); + done(); + + }); + + }); + + it('Should register an error in the resolve step with type UpdateError', done => { + + let originalResolveFn = FaaSGateway.resolve; + FaaSGateway.resolve = (req, res, buffer, callback) => { + let error = new Error('Your API is currently updating.'); + error.updateError = true; + return callback(error); + }; + + request('POST', {}, '/my_function/', {}, (err, res, result) => { + + FaaSGateway.resolve = originalResolveFn; + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(409); + expect(result.error).to.exist; + expect(result.error.type).to.equal('UpdateError'); + done(); + + }); + + }); + it('Should register a runtime error properly', done => { request('POST', {}, '/runtime/', {}, (err, res, result) => { From 231eb6ae74e643038a69f6cacec8143df73cdc1c Mon Sep 17 00:00:00 2001 From: Jacob Date: Sun, 3 Jan 2021 10:45:37 -0800 Subject: [PATCH 017/117] Bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e0f11a4..f2f22ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.5", + "version": "2.0.6", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", From d5f4dd065f94e2e756ed26a0a09962183d71c50a Mon Sep 17 00:00:00 2001 From: Jacob Date: Sun, 3 Jan 2021 15:14:33 -0800 Subject: [PATCH 018/117] Populate x-execution-uuid header automatically on responses --- lib/gateway.js | 51 +++++++++++++++++++++++------------------- package.json | 2 +- tests/gateway/tests.js | 15 +++++++++++++ 3 files changed, 44 insertions(+), 24 deletions(-) diff --git a/lib/gateway.js b/lib/gateway.js index 28c64f6..2e2c1c4 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -339,7 +339,7 @@ class Gateway extends EventEmitter { ); } - __fatalError__ (req, res, msg, stack) { + __fatalError__ (req, res, msg, stack, executionUuid) { let error = { type: 'FatalError', message: msg || 'Fatal Error' @@ -353,7 +353,7 @@ class Gateway extends EventEmitter { ); error.stack = stackLines.join('\n'); } - let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + let headers = this.__createHeaders__(req, {'content-type': 'application/json', 'x-execution-uuid': executionUuid}); return this.__endRequest__( 500, this.__formatHeaders__(headers), @@ -365,8 +365,8 @@ class Gateway extends EventEmitter { ); } - __runtimeError__ (req, res, msg, stack) { - let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + __runtimeError__ (req, res, msg, stack, executionUuid) { + let headers = this.__createHeaders__(req, {'content-type': 'application/json', 'x-execution-uuid': executionUuid}); return this.__endRequest__( 403, this.__formatHeaders__(headers), @@ -382,8 +382,8 @@ class Gateway extends EventEmitter { ); } - __valueError__ (req, res, details) { - let headers = this.__createHeaders__(req, {'content-type': 'application/json'}); + __valueError__ (req, res, details, executionUuid) { + let headers = this.__createHeaders__(req, {'content-type': 'application/json', 'x-execution-uuid': executionUuid}); return this.__endRequest__( 502, this.__formatHeaders__(headers), @@ -399,7 +399,7 @@ class Gateway extends EventEmitter { ); } - __complete__ (req, res, body, headers, statusCode) { + __complete__ (req, res, body, headers, statusCode, executionUuid) { headers = this.__createHeaders__(req, headers); headers['content-type'] = headers['content-type'] || ( @@ -407,6 +407,7 @@ class Gateway extends EventEmitter { ? body.contentType || 'application/octet-stream' : 'application/json' ); + headers['x-execution-uuid'] = executionUuid; body = Buffer.isBuffer(body) ? body : JSON.stringify(body); return this.__endRequest__( statusCode || 200, @@ -810,9 +811,10 @@ class Gateway extends EventEmitter { let nullable = definition.returns.defaultValue === null; this.log(req, `Execution Start`); let t = new Date().valueOf(); - this.execute(definition, functionArgs, data, (err, value, headers) => { + this.execute(definition, functionArgs, data, (err, value, headers, executionUuid) => { let dt = new Date().valueOf() - t; err = err === undefined ? null : err; + executionUuid = executionUuid || ''; if (err !== null) { if (!(err instanceof Error)) { let jsonErr; @@ -827,7 +829,7 @@ class Gateway extends EventEmitter { `Use callback(new Error('description')) to pass an error, or callback(null, 'result') ` + `to pass a result without an error.`; this.log(req, `Runtime Error (${dt}ms): ${msg}`, 'error'); - return this.__runtimeError__(req, res, msg); + return this.__runtimeError__(req, res, msg, executionUuid); } else if (err.thrown) { let message = err.message; if (err.hasOwnProperty('value')) { @@ -838,13 +840,13 @@ class Gateway extends EventEmitter { } } this.log(req, `Runtime Error Thrown (${dt}ms): ${message}`, 'error'); - return this.__runtimeError__(req, res, message, err.stack); + return this.__runtimeError__(req, res, message, err.stack, executionUuid); } else if (err.fatal) { this.log(req, `Fatal Error (${dt}ms): ${err.message}`, 'error'); - return this.__fatalError__(req, res, err.message, err.stack); + return this.__fatalError__(req, res, err.message, err.stack, executionUuid); } else { this.log(req, `Runtime Error (${dt}ms): ${err.message}`, 'error'); - return this.__runtimeError__(req, res, err.message, err.stack); + return this.__runtimeError__(req, res, err.message, err.stack, executionUuid); } } else if ( !types.validate( @@ -878,7 +880,7 @@ class Gateway extends EventEmitter { details.returns.expected.members = definition.returns.members; } this.log(req, `Value Error (${dt}ms): ${details.returns.message}`, 'error'); - return this.__valueError__(req, res, details); + return this.__valueError__(req, res, details, executionUuid); } else { try { value = types.sanitize(definition.returns.type, value); @@ -890,7 +892,7 @@ class Gateway extends EventEmitter { } }; this.log(req, `Value Error (${dt}ms): ${details.returns.message}`, 'error'); - return this.__valueError__(req, res, details); + return this.__valueError__(req, res, details, executionUuid); } if (definition.returns.type === 'enum') { let member = definition.returns.members.find(m => m[0] === value); @@ -907,10 +909,10 @@ class Gateway extends EventEmitter { } }; this.log(req, `Value Error (${dt}ms): ${details.returns.message}`, 'error'); - return this.__valueError__(req, res, details); + return this.__valueError__(req, res, details, executionUuid); } this.log(req, `Execution Complete (${dt}ms)`); - return this.__complete__(req, res, httpResponse.body, httpResponse.headers, httpResponse.statusCode); + return this.__complete__(req, res, httpResponse.body, httpResponse.headers, httpResponse.statusCode, executionUuid); } }); @@ -993,6 +995,7 @@ class Gateway extends EventEmitter { execute (definition, functionArgs, data, callback) { let fn; + let executionUuid = uuid.v4(); if (definition.format.inline) { fn = this._inlineCache[definition.pathname]; if (!fn) { @@ -1002,7 +1005,7 @@ class Gateway extends EventEmitter { this._inlineCache[definition.pathname] = fn; } catch (e) { e.fatal = true; - return callback(e); + return callback(e, null, null, executionUuid); } } } else { @@ -1017,16 +1020,16 @@ class Gateway extends EventEmitter { e.value = value; } e.fatal = true; - return callback(e); + return callback(e, null, null, executionUuid); } } // Catch unhandled promise rejections once, starting now. // This applies to local testing only. process.removeAllListeners('unhandledRejection'); - process.once('unhandledRejection', (err, p) => callback(err)); + process.once('unhandledRejection', (err, p) => callback(err, null, null, executionUuid)); if (definition.format.async) { fn.apply(null, functionArgs) - .then(result => callback(null, result)) + .then(result => callback(null, result, null, executionUuid)) .catch(e => { if (!(e instanceof Error)) { let value = e; @@ -1034,11 +1037,13 @@ class Gateway extends EventEmitter { e.value = value; } e.thrown = true; - callback(e); + callback(e, null, null, executionUuid); }); } else { try { - fn.apply(null, functionArgs.concat(callback)); + fn.apply(null, functionArgs.concat((err, results, headers) => { + return callback(err, results, headers, executionUuid); + })); } catch (e) { if (!(e instanceof Error)) { let value = e; @@ -1046,7 +1051,7 @@ class Gateway extends EventEmitter { e.value = value; } e.thrown = true; - return callback(e); + return callback(e, null, null, executionUuid); } } } diff --git a/package.json b/package.json index f2f22ee..b69181b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.6", + "version": "2.0.7", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 88313eb..d96b8bf 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -372,6 +372,7 @@ module.exports = (expect) => { expect(res.headers).to.haveOwnProperty('access-control-allow-origin'); expect(res.headers).to.haveOwnProperty('access-control-allow-headers'); expect(res.headers).to.haveOwnProperty('access-control-expose-headers'); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result.error).to.exist; expect(result.error.type).to.equal('ValueError'); expect(result.error.details).to.exist; @@ -1073,6 +1074,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1088,6 +1090,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(500); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1104,6 +1107,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(500); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1120,6 +1124,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1135,6 +1140,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1150,6 +1156,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1165,6 +1172,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1180,6 +1188,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1195,6 +1204,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -1210,6 +1220,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result).to.be.an('object'); expect(result.error).to.exist; @@ -2101,6 +2112,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(502); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; expect(result.error).to.deep.equal({ type: 'ValueError', @@ -2622,6 +2634,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(502); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; done(); @@ -2634,6 +2647,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(502); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; done(); @@ -2646,6 +2660,7 @@ module.exports = (expect) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(502); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); expect(result).to.exist; done(); From 838cf70691d3c6b663e94283676f979640aad615 Mon Sep 17 00:00:00 2001 From: Jacob Date: Sun, 3 Jan 2021 15:40:21 -0800 Subject: [PATCH 019/117] Only set execution uuid header on error if it iis provided --- lib/gateway.js | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/gateway.js b/lib/gateway.js index 2e2c1c4..8a0e9b9 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -353,7 +353,11 @@ class Gateway extends EventEmitter { ); error.stack = stackLines.join('\n'); } - let headers = this.__createHeaders__(req, {'content-type': 'application/json', 'x-execution-uuid': executionUuid}); + let initialHeaders = {'content-type': 'application/json'}; + if (executionUuid) { + initialHeaders['x-execution-uuid'] = executionUuid; + } + let headers = this.__createHeaders__(req, initialHeaders); return this.__endRequest__( 500, this.__formatHeaders__(headers), @@ -366,7 +370,11 @@ class Gateway extends EventEmitter { } __runtimeError__ (req, res, msg, stack, executionUuid) { - let headers = this.__createHeaders__(req, {'content-type': 'application/json', 'x-execution-uuid': executionUuid}); + let initialHeaders = {'content-type': 'application/json'}; + if (executionUuid) { + initialHeaders['x-execution-uuid'] = executionUuid; + } + let headers = this.__createHeaders__(req, initialHeaders); return this.__endRequest__( 403, this.__formatHeaders__(headers), @@ -383,7 +391,11 @@ class Gateway extends EventEmitter { } __valueError__ (req, res, details, executionUuid) { - let headers = this.__createHeaders__(req, {'content-type': 'application/json', 'x-execution-uuid': executionUuid}); + let initialHeaders = {'content-type': 'application/json'}; + if (executionUuid) { + initialHeaders['x-execution-uuid'] = executionUuid; + } + let headers = this.__createHeaders__(req, initialHeaders); return this.__endRequest__( 502, this.__formatHeaders__(headers), @@ -407,7 +419,9 @@ class Gateway extends EventEmitter { ? body.contentType || 'application/octet-stream' : 'application/json' ); - headers['x-execution-uuid'] = executionUuid; + if (executionUuid) { + headers['x-execution-uuid'] = executionUuid; + } body = Buffer.isBuffer(body) ? body : JSON.stringify(body); return this.__endRequest__( statusCode || 200, @@ -814,7 +828,6 @@ class Gateway extends EventEmitter { this.execute(definition, functionArgs, data, (err, value, headers, executionUuid) => { let dt = new Date().valueOf() - t; err = err === undefined ? null : err; - executionUuid = executionUuid || ''; if (err !== null) { if (!(err instanceof Error)) { let jsonErr; @@ -829,7 +842,7 @@ class Gateway extends EventEmitter { `Use callback(new Error('description')) to pass an error, or callback(null, 'result') ` + `to pass a result without an error.`; this.log(req, `Runtime Error (${dt}ms): ${msg}`, 'error'); - return this.__runtimeError__(req, res, msg, executionUuid); + return this.__runtimeError__(req, res, msg, null, executionUuid); } else if (err.thrown) { let message = err.message; if (err.hasOwnProperty('value')) { From 510bd60c4ea52972d9e6b33be5493ea25c6551dc Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Mon, 11 Jan 2021 18:37:04 -0800 Subject: [PATCH 020/117] change filenames --- tests/files/cases/function_valid_inline_addition.js | 5 +++++ tests/files/cases/function_valid_inline_context.js | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 tests/files/cases/function_valid_inline_addition.js create mode 100644 tests/files/cases/function_valid_inline_context.js diff --git a/tests/files/cases/function_valid_inline_addition.js b/tests/files/cases/function_valid_inline_addition.js new file mode 100644 index 0000000..cc20675 --- /dev/null +++ b/tests/files/cases/function_valid_inline_addition.js @@ -0,0 +1,5 @@ +// Valid inline function +let a = 1; +let b = 2; + +return a + b; diff --git a/tests/files/cases/function_valid_inline_context.js b/tests/files/cases/function_valid_inline_context.js new file mode 100644 index 0000000..887f0bf --- /dev/null +++ b/tests/files/cases/function_valid_inline_context.js @@ -0,0 +1,4 @@ +// Valid inline function +console.log(context); + +return context.params; From 0771ea39c84ff564ab376cb3aa10adcf5c4e3616 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 19 Jan 2021 19:57:41 -0800 Subject: [PATCH 021/117] Update FunctionScript with modern Babel Parser --- lib/parser/nodejs/exported_function_parser.js | 39 ++++++------------- package.json | 4 +- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/lib/parser/nodejs/exported_function_parser.js b/lib/parser/nodejs/exported_function_parser.js index 4e0c2c3..7f35363 100644 --- a/lib/parser/nodejs/exported_function_parser.js +++ b/lib/parser/nodejs/exported_function_parser.js @@ -1,4 +1,4 @@ -const babylon = require('babylon'); +const babelParser = require('@babel/parser'); const types = require('../../types.js'); const background = require('../../background.js'); @@ -44,7 +44,6 @@ class ExportedFunctionParser { stack.push(name); if (!this.literals[node.type]) { - console.log(node); throw new Error(`(${stack.join('.')}) Expected ${Object.keys(this.literals).join(', ')} in Right-Hand of AssignmentPattern`); } @@ -58,11 +57,13 @@ class ExportedFunctionParser { parseModuleExportsStatement(fileString) { - let AST = babylon.parse(fileString, { - plugins: [ - 'objectRestSpread' - ] - }); + let AST = babelParser.parse( + fileString, + { + allowReturnOutsideFunction: true, + allowAwaitOutsideFunction: true + } + ); let body = AST.program.body; @@ -179,14 +180,14 @@ class ExportedFunctionParser { validateFunctionParamName(param) { try { - let token = babylon.parseExpression(param); - if (!token || token.type !== 'Identifier') { + let token = babelParser.parseExpression(param); + if (!token || token.type !== 'Identifier' || token.name === 'let') { return false; } - return true; } catch (e) { return false; } + return true; } parseCommentFromModuleExportsStatement(moduleStatement) { @@ -270,26 +271,10 @@ class ExportedFunctionParser { parse(name, fileString) { - let initialError = null; - - let moduleStatement; + let moduleStatement = this.parseModuleExportsStatement(fileString); let comment = null; let functionExpression = null; - try { - moduleStatement = this.parseModuleExportsStatement(fileString); - } catch (e) { - if ( - e.message.startsWith(`'return' outside of function`) || - e.message.startsWith(`Unexpected token, expected ;`) - ) { - moduleStatement = this.parseModuleExportsStatement(`async function __inline__ (context) {\n${fileString}\n}`); - moduleStatement = null; - } else { - throw e; - } - } - if (moduleStatement) { comment = this.parseCommentFromModuleExportsStatement(moduleStatement); functionExpression = this.parseFunctionExpressionFromModuleExportsStatement(moduleStatement); diff --git a/package.json b/package.json index b69181b..51d1ad8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.7", + "version": "2.0.8", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", @@ -9,7 +9,7 @@ "output": "node ./tests/output.js" }, "dependencies": { - "babylon": "^6.16.1", + "@babel/parser": "^7.12.11", "keyql": "^0.2.2", "minimatch": "^3.0.4", "uuid": "^3.0.1" From 3f9687912a2102de51c7e633c99daff4031df6ab Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Wed, 20 Jan 2021 10:23:06 -0800 Subject: [PATCH 022/117] Add details --- lib/gateway.js | 23 +++++++++++----------- package.json | 2 +- tests/gateway/functions/runtime/details.js | 10 ++++++++++ tests/gateway/tests.js | 18 +++++++++++++++++ 4 files changed, 41 insertions(+), 12 deletions(-) create mode 100644 tests/gateway/functions/runtime/details.js diff --git a/lib/gateway.js b/lib/gateway.js index 8a0e9b9..9d0bae1 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -369,24 +369,25 @@ class Gateway extends EventEmitter { ); } - __runtimeError__ (req, res, msg, stack, executionUuid) { + __runtimeError__ (req, res, msg, details, stack, executionUuid) { let initialHeaders = {'content-type': 'application/json'}; if (executionUuid) { initialHeaders['x-execution-uuid'] = executionUuid; } let headers = this.__createHeaders__(req, initialHeaders); + let error = {}; + error.type = 'RuntimeError'; + error.message = msg || 'Runtime Error'; + if (details) { + error.details = details; + } + error.stack = stack; return this.__endRequest__( 403, this.__formatHeaders__(headers), req, res, - JSON.stringify({ - error: { - type: 'RuntimeError', - message: msg || 'Runtime Error', - stack: stack - } - }) + JSON.stringify({error: error}) ); } @@ -842,7 +843,7 @@ class Gateway extends EventEmitter { `Use callback(new Error('description')) to pass an error, or callback(null, 'result') ` + `to pass a result without an error.`; this.log(req, `Runtime Error (${dt}ms): ${msg}`, 'error'); - return this.__runtimeError__(req, res, msg, null, executionUuid); + return this.__runtimeError__(req, res, msg, null, null, executionUuid); } else if (err.thrown) { let message = err.message; if (err.hasOwnProperty('value')) { @@ -853,13 +854,13 @@ class Gateway extends EventEmitter { } } this.log(req, `Runtime Error Thrown (${dt}ms): ${message}`, 'error'); - return this.__runtimeError__(req, res, message, err.stack, executionUuid); + return this.__runtimeError__(req, res, message, err.details, err.stack, executionUuid); } else if (err.fatal) { this.log(req, `Fatal Error (${dt}ms): ${err.message}`, 'error'); return this.__fatalError__(req, res, err.message, err.stack, executionUuid); } else { this.log(req, `Runtime Error (${dt}ms): ${err.message}`, 'error'); - return this.__runtimeError__(req, res, err.message, err.stack, executionUuid); + return this.__runtimeError__(req, res, err.message, err.details, err.stack, executionUuid); } } else if ( !types.validate( diff --git a/package.json b/package.json index 51d1ad8..0208c2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.0.8", + "version": "2.1.0", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/functions/runtime/details.js b/tests/gateway/functions/runtime/details.js new file mode 100644 index 0000000..a82c393 --- /dev/null +++ b/tests/gateway/functions/runtime/details.js @@ -0,0 +1,10 @@ +/** +* @returns {any} +*/ +module.exports = (callback) => { + + let error = new Error('error'); + error.details = {objects: 'supported'}; + callback(error); + +}; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index d96b8bf..16a701d 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -1080,6 +1080,24 @@ module.exports = (expect) => { expect(result.error).to.exist; expect(result.error).to.be.an('object'); expect(result.error.type).to.equal('RuntimeError'); + expect(result.error).to.not.haveOwnProperty('details'); + done(); + + }); + }); + + it('Should register a runtime error properly with details', done => { + request('POST', {}, '/runtime/details/', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(403); + expect(res.headers['x-execution-uuid'].length).to.be.greaterThan(1); + expect(result).to.exist; + expect(result).to.be.an('object'); + expect(result.error).to.exist; + expect(result.error).to.be.an('object'); + expect(result.error.type).to.equal('RuntimeError'); + expect(result.error.details).to.deep.equal({objects: 'supported'}); done(); }); From 3b1697736042253c0b240c2d75e035c5c6be987f Mon Sep 17 00:00:00 2001 From: Jacob Date: Fri, 29 Jan 2021 12:56:39 -0800 Subject: [PATCH 023/117] Add x-execution-uuid header to access-control-expose-headers response header by default --- lib/gateway.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gateway.js b/lib/gateway.js index 9d0bae1..251dd87 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -142,8 +142,8 @@ class Gateway extends EventEmitter { }, {}); headers['access-control-allow-origin'] = headers['access-control-allow-origin'] || '*'; headers['access-control-allow-headers'] = headers['access-control-allow-headers'] || req.headers['access-control-request-headers'] || ''; - headers['access-control-expose-headers'] = Object.keys(headers).join(', '); headers['x-functionscript'] = 'true'; + headers['access-control-expose-headers'] = Object.keys(headers).concat('x-execution-uuid').join(', '); return headers; } From ed4860a7a2a9ecaefeb4e545a64712810fbafbb0 Mon Sep 17 00:00:00 2001 From: Jacob Date: Fri, 29 Jan 2021 12:56:57 -0800 Subject: [PATCH 024/117] Version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0208c2e..9d5b726 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.1.0", + "version": "2.1.1", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", From 5efc61bc4eb2a25a389cda5c292df3adf1b5d53f Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Fri, 29 Jan 2021 13:44:32 -0800 Subject: [PATCH 025/117] Fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9d5b726..620d75d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.1.1", + "version": "2.1.2", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", From 25f15939fff8cbeac9ec62a5eba8696183f5b20d Mon Sep 17 00:00:00 2001 From: Jacob Date: Tue, 16 Feb 2021 19:23:45 -0800 Subject: [PATCH 026/117] Fix parsing of buffers passed within object or array parameters --- lib/types.js | 14 ++++---- package.json | 2 +- .../functions/buffer_within_array_param.js | 13 +++++++ .../functions/buffer_within_object_param.js | 10 ++++++ tests/gateway/tests.js | 36 +++++++++++++++++++ 5 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 tests/gateway/functions/buffer_within_array_param.js create mode 100644 tests/gateway/functions/buffer_within_object_param.js diff --git a/lib/types.js b/lib/types.js index 9a6ce1a..44a2a64 100644 --- a/lib/types.js +++ b/lib/types.js @@ -190,12 +190,12 @@ const _format = { float: v => v, integer: v => v, boolean: v => v, - object: v => v, + object: v => _convertBuffers(v, true, true), 'object.http': v => v, 'object.keyql.query': v => v, 'object.keyql.limit': v => v, 'object.keyql.order': v => v, - array: v => v, + array: v => _convertBuffers(v, true, true), buffer: v => { if (!v || typeof v !== 'object' || Buffer.isBuffer(v)) { return v; @@ -343,15 +343,15 @@ const _convert = { any: s => s }; -const _convertBuffers = function (v, base) { - v = base ? _format.buffer(v) : v; +const _convertBuffers = function (v, applyFormatting, formatRecursively) { + v = applyFormatting ? _format.buffer(v) : v; if (Buffer.isBuffer(v)) { - return base ? v : {_base64: v.toString('base64')}; + return applyFormatting ? v : {_base64: v.toString('base64')}; } else if (Array.isArray(v)) { - return v.map(v => _convertBuffers(v)); + return v.map(v => _convertBuffers(v, formatRecursively ? applyFormatting : false, formatRecursively)); } else if (v && typeof v === 'object') { return Object.keys(v).reduce(function (n, key) { - n[key] = _convertBuffers(v[key]); + n[key] = _convertBuffers(v[key], formatRecursively ? applyFormatting : false, formatRecursively); return n; }, {}); } else { diff --git a/package.json b/package.json index 620d75d..0a4c87b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "functionscript", - "version": "2.1.2", + "version": "2.1.3", "description": "A language and specification for turning JavaScript functions into typed HTTP APIs", "author": "Keith Horwood ", "main": "index.js", diff --git a/tests/gateway/functions/buffer_within_array_param.js b/tests/gateway/functions/buffer_within_array_param.js new file mode 100644 index 0000000..93916d8 --- /dev/null +++ b/tests/gateway/functions/buffer_within_array_param.js @@ -0,0 +1,13 @@ +/** +* @param {array} arrayParam +* @ {buffer} bufferItem +*/ +module.exports = async (arrayParam) => { + if (!arrayParam.length) { + throw new Error('No array items provided'); + } + if (!Buffer.isBuffer(arrayParam[0])) { + throw new Error('The parsed value of the array parameter\'s item is not a buffer'); + } + return 'ok'; +}; diff --git a/tests/gateway/functions/buffer_within_object_param.js b/tests/gateway/functions/buffer_within_object_param.js new file mode 100644 index 0000000..0c9fc9a --- /dev/null +++ b/tests/gateway/functions/buffer_within_object_param.js @@ -0,0 +1,10 @@ +/** +* @param {object} objectParam +* @ {buffer} bufferVal +*/ +module.exports = async (objectParam) => { + if (!Buffer.isBuffer(objectParam.bufferVal)) { + throw new Error('The parsed value of the object parameter\'s "bufferVal" key is not a buffer'); + } + return 'ok'; +}; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index 16a701d..aa29acc 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2576,6 +2576,42 @@ module.exports = (expect) => { }); }); + it('Should parse buffers within object params', done => { + request('POST', {}, '/buffer_within_object_param/', { + objectParam: { + bufferVal: { + _base64: 'abcde' + } + } + }, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result).to.equal('ok'); + done(); + + }); + }); + + it('Should parse buffers within array params', done => { + request('POST', {}, '/buffer_within_array_param/', { + arrayParam: [{ + _base64: 'abcde' + }] + }, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('application/json'); + expect(result).to.exist; + expect(result).to.equal('ok'); + done(); + + }); + }); + it('Should return a mocked buffer as if it were a real one', done => { request('POST', {}, '/buffer_mocked_return/', {}, (err, res, result) => { From fe9515a908ff0e238beec82c5d68c2ed9029b897 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 23 Feb 2021 10:29:18 -0800 Subject: [PATCH 027/117] Add in static file parsing --- lib/gateway.js | 2 +- lib/parser/function_parser.js | 165 +++++++++++++++++++++++----------- package.json | 1 + tests/gateway/tests.js | 2 +- tests/gateway/www/404.html | 1 + tests/gateway/www/index.html | 1 + tests/gateway/www/page.html | 1 + tests/runner.js | 2 +- 8 files changed, 118 insertions(+), 57 deletions(-) create mode 100644 tests/gateway/www/404.html create mode 100644 tests/gateway/www/index.html create mode 100644 tests/gateway/www/page.html diff --git a/lib/gateway.js b/lib/gateway.js index 251dd87..2505da8 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -823,7 +823,7 @@ class Gateway extends EventEmitter { } __requestHandler__ (req, res, definition, data, functionArgs) { - let nullable = definition.returns.defaultValue === null; + let nullable = (definition.returns || {}).defaultValue === null; this.log(req, `Execution Start`); let t = new Date().valueOf(); this.execute(definition, functionArgs, data, (err, value, headers, executionUuid) => { diff --git a/lib/parser/function_parser.js b/lib/parser/function_parser.js index 1d84fc2..37db7d5 100644 --- a/lib/parser/function_parser.js +++ b/lib/parser/function_parser.js @@ -2,6 +2,7 @@ const fs = require('fs'); const path = require('path'); const minimatch = require('minimatch'); +const mime = require('mime'); const background = require('../background.js'); const types = require('../types.js'); @@ -41,8 +42,9 @@ class FunctionParser { return this._parsers[lang]; } - parseDefinition(pathname, buffer, functionsPath) { + parseDefinition (pathname, buffer, functionsPath, isStatic) { + isStatic = !!isStatic; functionsPath = functionsPath || ''; functionsPath = (functionsPath && !functionsPath.endsWith('/')) ? `${functionsPath}/` : functionsPath; if (!pathname.startsWith(functionsPath)) { @@ -50,73 +52,123 @@ class FunctionParser { } let names = pathname.split('/'); let filename = names.pop(); - let name; let ext = filename.split('.').pop(); - let parser = this.getParser(`.${ext}`); - let suffix; - name = filename.substr(0, filename.length - ext.length - 1); - if (name === '__main__') { - name = names.join('/'); - } else if (name === '__notfound__') { - name = names.join('/'); - suffix = 'notfound'; - } else { - name = names.concat(name).join('/'); - } - name = name.substr(functionsPath.length); - if (name && !name.match(/^([A-Z][A-Z0-9\_\-]*\/)*[A-Z][A-Z0-9\_\-]*$/i)) { - throw new Error( - `Invalid function name: ${name} (${filename})\n` + - `All path segments must be alphanumeric (or -, _) and start with a letter` - ); - } - - name = name + (suffix ? `:${suffix}` : ''); - let definition; + let name = filename.substr(0, filename.length - ext.length - 1); + let definitionList = []; - try { - definition = parser.parse(name, buffer.toString()); - definition.pathname = pathname; - } catch (e) { - e.message = `Function definition error (${pathname})\n${e.message}`; - throw e; - } - - let validations = this.constructor.definitionFields; - Object.keys(validations).forEach(field => { - let validate = validations[field]; - let value = definition[field]; - if (!validate(value)) { + if (isStatic) { + // Convert x.html -> mydomain.com/x + // But also preserve mydomain.com/x.html + // Special rules for html files named "index" or "404" + // Which will create default routes + if (ext === 'htm' || ext === 'html') { + if (name === 'index') { + name = names.join('/'); + } else if (name === '404') { + name = `${names.concat('').join('/')}:notfound`; + } else { + name = names.concat(name).join('/'); + } + definitionList.push({ + name: name.substr(functionsPath.length), + pathname: pathname, + static: { + contentType: mime.getType(filename), + contentLength: buffer.byteLength, + } + }); + } + definitionList.push({ + name: names.concat(filename).join('/').substr(functionsPath.length), + pathname: pathname, + static: { + contentType: mime.getType(filename), + contentLength: buffer.byteLength, + } + }); + console.log(definitionList); + } else { + let parser = this.getParser(`.${ext}`); + let suffix; + if (name === '__main__') { + name = names.join('/'); + } else if (name === '__notfound__') { + name = names.join('/'); + suffix = 'notfound'; + } else { + name = names.concat(name).join('/'); + } + name = name.substr(functionsPath.length); + if (name && !name.match(/^([A-Z][A-Z0-9\_\-]*\/)*[A-Z][A-Z0-9\_\-]*$/i)) { throw new Error( - `Function definition error (${pathname})\n`+ - `Invalid field "${field}", unexpected value: ${JSON.stringify(value)}` + `Invalid function name: ${name} (${filename})\n` + + `All path segments must be alphanumeric (or -, _) and start with a letter` ); } - }); - return definition; + name = name + (suffix ? `:${suffix}` : ''); + let definition; + + try { + definition = parser.parse(name, buffer.toString()); + definition.pathname = pathname; + } catch (e) { + e.message = `Function definition error (${pathname})\n${e.message}`; + throw e; + } + + let validations = this.constructor.definitionFields; + Object.keys(validations).forEach(field => { + let validate = validations[field]; + let value = definition[field]; + if (!validate(value)) { + throw new Error( + `Endpoint definition error (${pathname})\n`+ + `Invalid field "${field}", unexpected value: ${JSON.stringify(value)}` + ); + } + }); + + definitionList.push(definition); + + } + + return definitionList; } - readDefinitions(files, functionsPath) { + readDefinitions (files, functionsPath, definitions, isStatic) { functionsPath = (functionsPath && !functionsPath.endsWith('/')) ? `${functionsPath}/` : (functionsPath || ''); return Object.keys(files).reduce((definitions, pathname) => { if (functionsPath && !pathname.startsWith(functionsPath)) { return definitions; } - let definition = this.parseDefinition(pathname, files[pathname], functionsPath); - if (definitions[definition.name]) { - throw new Error( - `Function ${definition.name} already exists\n` + - `If declaring with [dir]/__main__.js, make sure [dir].js isn't a file in the parent directory.` - ); - } - definitions[definition.name] = definition; + let definitionList = this.parseDefinition(pathname, files[pathname], functionsPath, isStatic); + definitionList.forEach(definition => { + if (definitions[definition.name]) { + let existingDefinition = definitions[definition.name]; + throw new Error( + `Endpoint ${definition.name} (${definition.pathname}) was already defined in ${existingDefinition.pathname}\n` + + ( + isStatic + ? (!existingDefinition.static && definition.static) + ? [ + `Endpoint functions and static files can not have the same name.`, + `This can often be caused when a function is named "__main__" and a static file is name "index",`, + `or when a function is named "__notfound__" and a static file is named "404".` + ].join('\n') + : `Only one static file per directory can have the name "index" or "404".` + : `If declaring with [dir]/__main__.js, make sure [dir].js isn't a file in the parent directory.` + ) + ); + } + definitions[definition.name] = definition; + }); return definitions; - }, {}); + }, definitions || {}); } - readFiles(rootPath, functionsPath, dirPath, files, ignore) { + readFiles (rootPath, functionsPath, dirPath, files, ignore) { let ignoreList = (ignore || []).concat(DEFAULT_IGNORE); functionsPath = functionsPath || '.'; dirPath = dirPath || '.'; @@ -141,9 +193,14 @@ class FunctionParser { }, files); } - load(rootPath, functionsPath, ignore) { - let files = this.readFiles(rootPath, functionsPath, null, null, ignore); - return this.readDefinitions(files, functionsPath); + load (rootPath, functionsPath, staticPath, ignore) { + let functionFiles = this.readFiles(rootPath, functionsPath, null, null, ignore); + let definitions = this.readDefinitions(functionFiles, functionsPath); + if (staticPath) { + let staticFiles = this.readFiles(rootPath, staticPath, null, null, ignore); + definitions = this.readDefinitions(staticFiles, staticPath, definitions, true); + } + return definitions; } } diff --git a/package.json b/package.json index 0a4c87b..09e63b7 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "@babel/parser": "^7.12.11", "keyql": "^0.2.2", + "mime": "^2.5.2", "minimatch": "^3.0.4", "uuid": "^3.0.1" }, diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index aa29acc..d5b7ed6 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -52,7 +52,7 @@ module.exports = (expect) => { before(() => { FaaSGateway.listen(PORT); - FaaSGateway.define(parser.load(ROOT, 'functions')); + FaaSGateway.define(parser.load(ROOT, 'functions', 'www')); }); it('Should setup correctly', () => { diff --git a/tests/gateway/www/404.html b/tests/gateway/www/404.html new file mode 100644 index 0000000..568430b --- /dev/null +++ b/tests/gateway/www/404.html @@ -0,0 +1 @@ +error 404 diff --git a/tests/gateway/www/index.html b/tests/gateway/www/index.html new file mode 100644 index 0000000..e2ad6e4 --- /dev/null +++ b/tests/gateway/www/index.html @@ -0,0 +1 @@ +this is an html file diff --git a/tests/gateway/www/page.html b/tests/gateway/www/page.html new file mode 100644 index 0000000..e2ad6e4 --- /dev/null +++ b/tests/gateway/www/page.html @@ -0,0 +1 @@ +this is an html file diff --git a/tests/runner.js b/tests/runner.js index fdb85a0..3816279 100644 --- a/tests/runner.js +++ b/tests/runner.js @@ -53,7 +53,7 @@ describe('LibDoc', () => { describe('Comprehensive Test', () => { let definitions = parser.load('./tests/files/comprehensive'); - let ignoredDefinitions = parser.load('./tests/files/ignore', null, ['ignoreme.js']); + let ignoredDefinitions = parser.load('./tests/files/ignore', null, null, ['ignoreme.js']); it('Should read all functions correctly', () => { From e5260fd77f51cb859639de2fcf4a06fe50009b43 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Tue, 23 Feb 2021 13:58:35 -0800 Subject: [PATCH 028/117] Static file handling --- lib/gateway.js | 145 ++++++++++++------ lib/parser/function_parser.js | 68 ++++---- lib/parser/nodejs/exported_function_parser.js | 4 +- lib/parser/static/static_parser.js | 44 ++++++ tests/gateway/tests.js | 11 ++ tests/gateway/www/{ => error}/404.html | 0 .../gateway/www/{ => static-test}/index.html | 0 7 files changed, 197 insertions(+), 75 deletions(-) create mode 100644 lib/parser/static/static_parser.js rename tests/gateway/www/{ => error}/404.html (100%) rename tests/gateway/www/{ => static-test}/index.html (100%) diff --git a/lib/gateway.js b/lib/gateway.js index 2505da8..90f0d68 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -51,6 +51,7 @@ class Gateway extends EventEmitter { this._inlineCache = []; this._requests = {}; this._requestCount = 0; + this._staticCache = {}; } routename (req) { @@ -760,8 +761,10 @@ class Gateway extends EventEmitter { this.__background__(req, res, definition, validated.params); } + let context = this.createContext(req, definition, validated.params, data, buffer); + let functionArgs = definition.context ? - validated.paramsList.concat(this.createContext(req, definition, validated.params, data, buffer)) : + validated.paramsList.concat(context) : validated.paramsList.slice(); setImmediate(() => { @@ -769,7 +772,7 @@ class Gateway extends EventEmitter { req, res, definition, - data, + context, functionArgs ); }); @@ -822,11 +825,11 @@ class Gateway extends EventEmitter { !this._requestCount && this.emit('empty'); } - __requestHandler__ (req, res, definition, data, functionArgs) { + __requestHandler__ (req, res, definition, context, functionArgs) { let nullable = (definition.returns || {}).defaultValue === null; this.log(req, `Execution Start`); let t = new Date().valueOf(); - this.execute(definition, functionArgs, data, (err, value, headers, executionUuid) => { + this.execute(definition, functionArgs, context, (err, value, headers, executionUuid) => { let dt = new Date().valueOf() - t; err = err === undefined ? null : err; if (err !== null) { @@ -1007,66 +1010,112 @@ class Gateway extends EventEmitter { return context; } - execute (definition, functionArgs, data, callback) { + execute (definition, functionArgs, context, callback) { let fn; let executionUuid = uuid.v4(); - if (definition.format.inline) { - fn = this._inlineCache[definition.pathname]; - if (!fn) { + if (definition.format.language === 'static') { + let buffer = this._staticCache[definition.pathname] = ( + this._staticCache[definition.pathname] || + fs.readFileSync(path.join(process.cwd(), this.root, definition.pathname)) + ); + let headers = {}; + let statusCode = definition.name.endsWith(':notfound') + ? 404 + : 200; + let contentType = definition.metadata.contentType || 'application/octet-stream'; + if (contentType.split(';')[0].split('/')[0] === 'video') { + let range = context.http.headers.range; + let len = buffer.byteLength; + if (range) { + range = range + .replace('bytes=', '') + .split('-') + .map(v => parseInt(v)) + .filter(v => !isNaN(v)) + if (!range.length) { + range = [0]; + } + if (range.length === 1) { + range.push(len - 1); + } + buffer = buffer.slice(range[0], range[1] + 1); + } else { + range = [0, len - 1]; + } + headers['Content-Range'] = `bytes ${range[0]}-${range[1]}/${len}`; + headers['Accept-Ranges'] = 'bytes'; + } else if (contentType.split(';')[0].split('/')[0] === 'text') { + contentType = contentType.split(';')[0] + '; charset=utf-8'; + } + headers['Content-Type'] = contentType; + headers['Content-Length'] = buffer.byteLength; + return callback( + null, + {statusCode: statusCode, headers: headers, body: buffer}, + null, + executionUuid + ); + } else if (definition.format.language === 'nodejs') { + if (definition.format.inline) { + fn = this._inlineCache[definition.pathname]; + if (!fn) { + try { + let fnString = fs.readFileSync(path.join(process.cwd(), this.root, definition.pathname)).toString(); + fn = new AsyncFunction('require', 'context', fnString).bind(null, relrequire.bind(null, definition.pathname)); + this._inlineCache[definition.pathname] = fn; + } catch (e) { + e.fatal = true; + return callback(e, null, null, executionUuid); + } + } + } else { try { - let fnString = fs.readFileSync(path.join(process.cwd(), this.root, definition.pathname)).toString(); - fn = new AsyncFunction('require', 'context', fnString).bind(null, relrequire.bind(null, definition.pathname)); - this._inlineCache[definition.pathname] = fn; + let rpath = require.resolve(path.join(process.cwd(), this.root, definition.pathname)); + delete require[rpath]; + fn = require(rpath); } catch (e) { + if (!(e instanceof Error)) { + let value = e; + e = new Error(e || ''); + e.value = value; + } e.fatal = true; return callback(e, null, null, executionUuid); } } - } else { - try { - let rpath = require.resolve(path.join(process.cwd(), this.root, definition.pathname)); - delete require[rpath]; - fn = require(rpath); - } catch (e) { - if (!(e instanceof Error)) { - let value = e; - e = new Error(e || ''); - e.value = value; - } - e.fatal = true; - return callback(e, null, null, executionUuid); - } - } - // Catch unhandled promise rejections once, starting now. - // This applies to local testing only. - process.removeAllListeners('unhandledRejection'); - process.once('unhandledRejection', (err, p) => callback(err, null, null, executionUuid)); - if (definition.format.async) { - fn.apply(null, functionArgs) - .then(result => callback(null, result, null, executionUuid)) - .catch(e => { + // Catch unhandled promise rejections once, starting now. + // This applies to local testing only. + process.removeAllListeners('unhandledRejection'); + process.once('unhandledRejection', (err, p) => callback(err, null, null, executionUuid)); + if (definition.format.async) { + fn.apply(null, functionArgs) + .then(result => callback(null, result, null, executionUuid)) + .catch(e => { + if (!(e instanceof Error)) { + let value = e; + e = new Error(e || ''); + e.value = value; + } + e.thrown = true; + callback(e, null, null, executionUuid); + }); + } else { + try { + fn.apply(null, functionArgs.concat((err, result, headers) => { + return callback(err, result, headers, executionUuid); + })); + } catch (e) { if (!(e instanceof Error)) { let value = e; e = new Error(e || ''); e.value = value; } e.thrown = true; - callback(e, null, null, executionUuid); - }); - } else { - try { - fn.apply(null, functionArgs.concat((err, results, headers) => { - return callback(err, results, headers, executionUuid); - })); - } catch (e) { - if (!(e instanceof Error)) { - let value = e; - e = new Error(e || ''); - e.value = value; + return callback(e, null, null, executionUuid); } - e.thrown = true; - return callback(e, null, null, executionUuid); } + } else { + return callback(new Error(`Gateway does not support language "${definition.format.language}"`)) } } diff --git a/lib/parser/function_parser.js b/lib/parser/function_parser.js index 37db7d5..ea0d7ad 100644 --- a/lib/parser/function_parser.js +++ b/lib/parser/function_parser.js @@ -61,6 +61,8 @@ class FunctionParser { // But also preserve mydomain.com/x.html // Special rules for html files named "index" or "404" // Which will create default routes + let parser = this.getParser(''); + let definition; if (ext === 'htm' || ext === 'html') { if (name === 'index') { name = names.join('/'); @@ -69,24 +71,31 @@ class FunctionParser { } else { name = names.concat(name).join('/'); } - definitionList.push({ - name: name.substr(functionsPath.length), - pathname: pathname, - static: { - contentType: mime.getType(filename), - contentLength: buffer.byteLength, - } - }); - } - definitionList.push({ - name: names.concat(filename).join('/').substr(functionsPath.length), - pathname: pathname, - static: { - contentType: mime.getType(filename), - contentLength: buffer.byteLength, + try { + definition = parser.parse( + name.substr(functionsPath.length), + buffer.toString(), + pathname, + buffer + ); + definition.pathname = pathname; + } catch (e) { + throw new Error(`Static file error (${pathname})\n${e.message}`); } - }); - console.log(definitionList); + definitionList.push(definition); + } + try { + definition = parser.parse( + names.concat(filename).join('/').substr(functionsPath.length), + buffer.toString(), + pathname, + buffer + ); + definition.pathname = pathname; + } catch (e) { + throw new Error(`Static file error (${pathname})\n${e.message}`); + } + definitionList.push(definition); } else { let parser = this.getParser(`.${ext}`); let suffix; @@ -110,28 +119,31 @@ class FunctionParser { let definition; try { - definition = parser.parse(name, buffer.toString()); + definition = parser.parse(name, buffer.toString(), pathname, buffer); definition.pathname = pathname; } catch (e) { e.message = `Function definition error (${pathname})\n${e.message}`; throw e; } + definitionList.push(definition); + + } + + definitionList.forEach(definition => { let validations = this.constructor.definitionFields; Object.keys(validations).forEach(field => { let validate = validations[field]; let value = definition[field]; if (!validate(value)) { throw new Error( - `Endpoint definition error (${pathname})\n`+ - `Invalid field "${field}", unexpected value: ${JSON.stringify(value)}` + `FunctionScript endpoint definition error (${pathname})\n`+ + `Invalid field "${field}", unexpected value: ${JSON.stringify(value)}\n` + + `\nThis is likely caused by a FunctionScript misconfiguration.` ); } }); - - definitionList.push(definition); - - } + }); return definitionList; @@ -206,6 +218,7 @@ class FunctionParser { } FunctionParser.parsers = { + 'static' : require('./static/static_parser.js'), 'nodejs': require('./nodejs/exported_function_parser.js') }; @@ -214,6 +227,7 @@ FunctionParser.commentParsers = { }; FunctionParser.extensions = { + '': 'static', '.js': 'nodejs' }; @@ -224,9 +238,10 @@ FunctionParser.definitionFields = { return format && typeof format === 'object' && typeof format.language === 'string' && - typeof format.inline === 'boolean'; + typeof format.inline === 'boolean' }, 'description': description => typeof description === 'string', + 'metadata': metadata => typeof metadata === 'object' && metadata !== null, 'bg': bg => { return bg && typeof bg === 'object' && @@ -284,7 +299,8 @@ FunctionParser.definitionFields = { 'returns': returns => { return returns && typeof returns === 'object' && - 'description' in returns && 'type' in returns; + 'description' in returns && + 'type' in returns; } }; diff --git a/lib/parser/nodejs/exported_function_parser.js b/lib/parser/nodejs/exported_function_parser.js index 7f35363..0afd410 100644 --- a/lib/parser/nodejs/exported_function_parser.js +++ b/lib/parser/nodejs/exported_function_parser.js @@ -269,7 +269,7 @@ class ExportedFunctionParser { }); } - parse(name, fileString) { + parse (name, fileString, pathname, buffer) { let moduleStatement = this.parseModuleExportsStatement(fileString); let comment = null; @@ -296,12 +296,14 @@ class ExportedFunctionParser { return { name: name, + pathname: pathname, format: { language: this.language, async: isAsync, inline: isInline }, description: description, + metadata: {}, bg: bg, acl: acl, keys: keys, diff --git a/lib/parser/static/static_parser.js b/lib/parser/static/static_parser.js new file mode 100644 index 0000000..eef394f --- /dev/null +++ b/lib/parser/static/static_parser.js @@ -0,0 +1,44 @@ +const mime = require('mime'); +const background = require('../../background.js'); + +class StaticParser { + + constructor() { + this.language = 'static'; + } + + parse (name, fileString, pathname, buffer) { + + let filename = pathname.split('/').pop(); + + return { + name: name, + pathname: pathname, + format: { + language: this.language, + async: false, + inline: false + }, + description: filename, + metadata: { + filename: filename, + contentType: mime.getType(filename), + contentLength: buffer.byteLength, + }, + bg: background.generateDefaultValue(), + keys: [], + charge: 0, + context: null, + params: [], + returns: { + name: 'file', + description: 'Static File', + type: 'object.http' + } + }; + + } + +} + +module.exports = StaticParser; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index d5b7ed6..bca65db 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2955,6 +2955,17 @@ module.exports = (expect) => { }); }); + it('Should support static files in "www" directory properly', done => { + request('GET', {}, '/page.html', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(result.toString()).to.equal('this is an html file\n'); + done(); + + }); + }); + after(() => FaaSGateway.close()); }; diff --git a/tests/gateway/www/404.html b/tests/gateway/www/error/404.html similarity index 100% rename from tests/gateway/www/404.html rename to tests/gateway/www/error/404.html diff --git a/tests/gateway/www/index.html b/tests/gateway/www/static-test/index.html similarity index 100% rename from tests/gateway/www/index.html rename to tests/gateway/www/static-test/index.html From 7aedda18c722e0c308245374884dae759ec57010 Mon Sep 17 00:00:00 2001 From: Keith Horwood Date: Wed, 24 Feb 2021 12:54:08 -0800 Subject: [PATCH 029/117] Add in support for static files in www directory --- lib/gateway.js | 16 +- lib/parser/function_parser.js | 35 ++-- tests/gateway/tests.js | 206 +++++++++++++++++++- tests/gateway/www/fs-wordmark.png | Bin 0 -> 11547 bytes tests/gateway/www/page2.htm | 1 + tests/gateway/www/static-test/htm/index.htm | 1 + tests/gateway/www/static-test/index.html | 2 +- tests/gateway/www/video.mp4 | Bin 0 -> 574823 bytes 8 files changed, 239 insertions(+), 22 deletions(-) create mode 100644 tests/gateway/www/fs-wordmark.png create mode 100644 tests/gateway/www/page2.htm create mode 100644 tests/gateway/www/static-test/htm/index.htm create mode 100644 tests/gateway/www/video.mp4 diff --git a/lib/gateway.js b/lib/gateway.js index 90f0d68..7f0056e 100644 --- a/lib/gateway.js +++ b/lib/gateway.js @@ -1030,18 +1030,24 @@ class Gateway extends EventEmitter { range = range .replace('bytes=', '') .split('-') - .map(v => parseInt(v)) - .filter(v => !isNaN(v)) + .map(r => r.trim()); if (!range.length) { - range = [0]; - } - if (range.length === 1) { + range = [0, len - 1]; + } else if (range.length === 1) { range.push(len - 1); } + if (range[0] === '' && !isNaN(parseInt(range[1]))) { + range = [len - parseInt(range[1]), len - 1]; + } else { + range = [parseInt(range[0]) || 0, parseInt(range[1]) || 0]; + } buffer = buffer.slice(range[0], range[1] + 1); } else { range = [0, len - 1]; } + if (range[0] !== 0 || range[1] !== len - 1) { + statusCode = 206; + } headers['Content-Range'] = `bytes ${range[0]}-${range[1]}/${len}`; headers['Accept-Ranges'] = 'bytes'; } else if (contentType.split(';')[0].split('/')[0] === 'text') { diff --git a/lib/parser/function_parser.js b/lib/parser/function_parser.js index ea0d7ad..c436a0d 100644 --- a/lib/parser/function_parser.js +++ b/lib/parser/function_parser.js @@ -63,17 +63,20 @@ class FunctionParser { // Which will create default routes let parser = this.getParser(''); let definition; + // Should we have a reference for both /hello.html and /hello to the same doc? + let shouldDuplicateHTMLEntry = true; if (ext === 'htm' || ext === 'html') { if (name === 'index') { - name = names.join('/'); + name = names.join('/').substr(functionsPath.length); } else if (name === '404') { - name = `${names.concat('').join('/')}:notfound`; + name = `${names.join('/').substr(functionsPath.length)}:notfound`; + shouldDuplicateHTMLEntry = false; // 404 will trigger 404 anyway } else { - name = names.concat(name).join('/'); + name = names.concat(name).join('/').substr(functionsPath.length); } try { definition = parser.parse( - name.substr(functionsPath.length), + name, buffer.toString(), pathname, buffer @@ -84,18 +87,20 @@ class FunctionParser { } definitionList.push(definition); } - try { - definition = parser.parse( - names.concat(filename).join('/').substr(functionsPath.length), - buffer.toString(), - pathname, - buffer - ); - definition.pathname = pathname; - } catch (e) { - throw new Error(`Static file error (${pathname})\n${e.message}`); + if (shouldDuplicateHTMLEntry) { + try { + definition = parser.parse( + names.concat(filename).join('/').substr(functionsPath.length), + buffer.toString(), + pathname, + buffer + ); + definition.pathname = pathname; + } catch (e) { + throw new Error(`Static file error (${pathname})\n${e.message}`); + } + definitionList.push(definition); } - definitionList.push(definition); } else { let parser = this.getParser(`.${ext}`); let suffix; diff --git a/tests/gateway/tests.js b/tests/gateway/tests.js index bca65db..a987a2e 100644 --- a/tests/gateway/tests.js +++ b/tests/gateway/tests.js @@ -2956,16 +2956,220 @@ module.exports = (expect) => { }); it('Should support static files in "www" directory properly', done => { - request('GET', {}, '/page.html', {}, (err, res, result) => { + request('GET', {}, '/page.html', '', (err, res, result) => { expect(err).to.not.exist; expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); expect(result.toString()).to.equal('this is an html file\n'); done(); }); }); + it('Should support POST to static files in "www" directory properly (noop)', done => { + request('POST', {}, '/page.html', {}, (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an html file\n'); + done(); + + }); + }); + + it('Should support static files in "www" directory properly, without .html', done => { + request('GET', {}, '/page/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an html file\n'); + done(); + + }); + }); + + it('Should support static files in "www" directory properly, without .htm', done => { + request('GET', {}, '/page2/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an htm file\n'); + done(); + + }); + }); + + it('Should support 404 not found in "www" directory properly by direct accession', done => { + request('GET', {}, '/error/404.html', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(404); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('error 404\n'); + done(); + + }); + }); + + it('Should support 404 not found in "www" directory properly by dir accession', done => { + request('GET', {}, '/error/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(404); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('error 404\n'); + done(); + + }); + }); + + it('Should support 404 not found in "www" directory properly by non-existent file accession', done => { + request('GET', {}, '/error/nope.txt', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(404); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('error 404\n'); + done(); + + }); + }); + + it('Should support 404 not found in "www" directory properly by nested non-existent file accession', done => { + request('GET', {}, '/error/path/to/nope.txt', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(404); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('error 404\n'); + done(); + + }); + }); + + it('Should support 404 not found in "www" directory properly by nested non-existent file accession', done => { + request('GET', {}, '/error/path/to/nope.txt', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(404); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('error 404\n'); + done(); + + }); + }); + + it('Should support "index.html" mapping to root directory', done => { + request('GET', {}, '/static-test/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an index.html file\n'); + done(); + + }); + }); + + it('Should support "index.html" also mapping to itself', done => { + request('GET', {}, '/static-test/index.html', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an index.html file\n'); + done(); + + }); + }); + + it('Should support "index.htm" mapping to root directory', done => { + request('GET', {}, '/static-test/htm/', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an index.htm file\n'); + done(); + + }); + }); + + it('Should support "index.htm" also mapping to itself', done => { + request('GET', {}, '/static-test/htm/index.htm', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('text/html; charset=utf-8'); + expect(result.toString()).to.equal('this is an index.htm file\n'); + done(); + + }); + }); + + it('Should support static (www) ".png" files properly', done => { + request('GET', {}, '/fs-wordmark.png', '', (err, res, result) => { + + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('image/png'); + expect(result.byteLength).to.equal(parseInt(res.headers['content-length'])); + done(); + + }); + }); + + it('Should support static (www) ".mp4" files properly', done => { + request('GET', {}, '/video.mp4', '', (err, res, result, headers) => { + + let size = parseInt(res.headers['content-length']); + expect(err).to.not.exist; + expect(res.statusCode).to.equal(200); + expect(res.headers['content-type']).to.equal('video/mp4'); + expect(res.headers['content-range']).to.equal('bytes 0-' + (size - 1) + '/' + size); + expect(res.headers['accept-ranges']).to.equal('bytes'); + expect(result.byteLength).to.equal(size); + done(); + + }); + }); + + it('Should support static (www) ".mp4" files properly with range header', done => { + request('GET', {range: '27-255'}, '/video.mp4', '', (err, res, result) => { + + let size = parseInt(res.headers['content-length']); + expect(err).to.not.exist; + expect(res.statusCode).to.equal(206); + expect(res.headers['content-type']).to.equal('video/mp4'); + expect(res.headers['content-range']).to.equal('bytes 27-255/574823'); + expect(res.headers['accept-ranges']).to.equal('bytes'); + expect(size).to.equal(255 - 27 + 1); + expect(result.byteLength).to.equal(size); + done(); + + }); + }); + + it('Should support static (www) ".mp4" files properly with range header (suffix)', done => { + request('GET', {range: '-500'}, '/video.mp4', '', (err, res, result) => { + + let size = parseInt(res.headers['content-length']); + expect(err).to.not.exist; + expect(res.statusCode).to.equal(206); + expect(res.headers['content-type']).to.equal('video/mp4'); + expect(res.headers['content-range']).to.equal('bytes 574323-574822/574823'); + expect(res.headers['accept-ranges']).to.equal('bytes'); + expect(size).to.equal(500); + expect(result.byteLength).to.equal(size); + done(); + + }); + }); + after(() => FaaSGateway.close()); }; diff --git a/tests/gateway/www/fs-wordmark.png b/tests/gateway/www/fs-wordmark.png new file mode 100644 index 0000000000000000000000000000000000000000..5d58a4407fe932cdbd29c45539adad0852e107b7 GIT binary patch literal 11547 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 z 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 z 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�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