temba 0.7.5 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.addCacheHeaders = addCacheHeaders;
7
+
8
+ function addCacheHeaders(req, res, next) {
9
+ if (req.method == 'GET') {
10
+ res.set('Cache-control', "public, max-age=300");
11
+ } else {
12
+ res.set('Cache-control', "no-store");
13
+ }
14
+
15
+ return next();
16
+ }
package/dist/server.js CHANGED
@@ -23,6 +23,8 @@ var _config = require("./config");
23
23
 
24
24
  var _cors = _interopRequireDefault(require("cors"));
25
25
 
26
+ var _middleware2 = require("./caching/middleware");
27
+
26
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
29
 
28
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -31,17 +33,21 @@ function createServer(userConfig) {
31
33
  var config = (0, _config.initConfig)(userConfig);
32
34
  var queries = (0, _queries.createQueries)(config.connectionString);
33
35
  var app = (0, _express["default"])();
34
- app.use((0, _express.json)());
35
- app.use((0, _morgan["default"])('tiny'));
36
+ app.use((0, _express.json)()); // Add HTTP request logging.
37
+
38
+ app.use((0, _morgan["default"])('tiny')); // Enable CORS for all requests.
39
+
36
40
  app.use((0, _cors["default"])({
37
41
  origin: true,
38
42
  credentials: true
39
- }));
43
+ })); // Serve a static folder, if configured.
40
44
 
41
45
  if (config.staticFolder) {
42
46
  app.use(_express["default"]["static"](config.staticFolder));
43
- } // On the root URL (with apiPrefix if applicable) only a GET is allowed.
47
+ } // Add cache headers to every response.
48
+
44
49
 
50
+ app.use(_middleware2.addCacheHeaders); // On the root URL (with apiPrefix if applicable) only a GET is allowed.
45
51
 
46
52
  var rootPath = config.apiPrefix ? "".concat(config.apiPrefix) : '/';
47
53
  app.use(rootPath, _routes.rootRouter); // For all other URLs, only GET, POST, PUT and DELETE are allowed and handled.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "temba",
3
- "version": "0.7.5",
3
+ "version": "0.7.6",
4
4
  "description": "Get a simple MongoDB REST API with zero coding in less than 30 seconds (seriously).",
5
5
  "main": "dist/server.js",
6
6
  "scripts": {