apitally 0.1.2 → 0.1.3

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.
Files changed (183) hide show
  1. package/lib/cjs/common/client.js +395 -0
  2. package/lib/cjs/common/client.js.map +1 -0
  3. package/lib/cjs/common/index.js +13 -0
  4. package/lib/cjs/common/index.js.map +1 -0
  5. package/lib/cjs/common/keyRegistry.js +162 -0
  6. package/lib/cjs/common/keyRegistry.js.map +1 -0
  7. package/lib/cjs/common/logging.js +17 -0
  8. package/lib/cjs/common/logging.js.map +1 -0
  9. package/lib/cjs/common/requestLogger.js +69 -0
  10. package/lib/cjs/common/requestLogger.js.map +1 -0
  11. package/lib/cjs/common/types.js +6 -0
  12. package/lib/cjs/common/types.js.map +1 -0
  13. package/lib/cjs/common/utils.js +24 -0
  14. package/lib/cjs/common/utils.js.map +1 -0
  15. package/lib/cjs/common/validationErrorLogger.js +58 -0
  16. package/lib/cjs/common/validationErrorLogger.js.map +1 -0
  17. package/lib/cjs/express/auth.js +105 -0
  18. package/lib/cjs/express/auth.js.map +1 -0
  19. package/lib/cjs/express/index.js +27 -0
  20. package/lib/cjs/express/index.js.map +1 -0
  21. package/lib/cjs/express/listEndpoints.js +175 -0
  22. package/lib/cjs/express/listEndpoints.js.map +1 -0
  23. package/lib/cjs/express/middleware.js +167 -0
  24. package/lib/cjs/express/middleware.js.map +1 -0
  25. package/lib/cjs/fastify/auth.js +105 -0
  26. package/lib/cjs/fastify/auth.js.map +1 -0
  27. package/lib/cjs/fastify/index.js +28 -0
  28. package/lib/cjs/fastify/index.js.map +1 -0
  29. package/lib/cjs/fastify/plugin.js +147 -0
  30. package/lib/cjs/fastify/plugin.js.map +1 -0
  31. package/lib/cjs/index.js +6 -0
  32. package/lib/cjs/index.js.map +1 -0
  33. package/lib/cjs/koa/auth.js +113 -0
  34. package/lib/cjs/koa/auth.js.map +1 -0
  35. package/lib/cjs/koa/index.js +27 -0
  36. package/lib/cjs/koa/index.js.map +1 -0
  37. package/lib/cjs/koa/middleware.js +122 -0
  38. package/lib/cjs/koa/middleware.js.map +1 -0
  39. package/lib/cjs/nestjs/auth.js +132 -0
  40. package/lib/cjs/nestjs/auth.js.map +1 -0
  41. package/lib/cjs/nestjs/index.js +39 -0
  42. package/lib/cjs/nestjs/index.js.map +1 -0
  43. package/lib/esm/common/client.js +385 -0
  44. package/lib/esm/common/client.js.map +1 -0
  45. package/lib/esm/common/index.js +1 -0
  46. package/lib/esm/common/index.js.map +1 -0
  47. package/lib/esm/common/keyRegistry.js +155 -0
  48. package/lib/esm/common/keyRegistry.js.map +1 -0
  49. package/lib/esm/common/logging.js +11 -0
  50. package/lib/esm/common/logging.js.map +1 -0
  51. package/lib/esm/common/requestLogger.js +63 -0
  52. package/lib/esm/common/requestLogger.js.map +1 -0
  53. package/lib/esm/common/types.js +1 -0
  54. package/lib/esm/common/types.js.map +1 -0
  55. package/lib/esm/common/utils.js +16 -0
  56. package/lib/esm/common/utils.js.map +1 -0
  57. package/lib/esm/common/validationErrorLogger.js +52 -0
  58. package/lib/esm/common/validationErrorLogger.js.map +1 -0
  59. package/lib/esm/express/auth.js +98 -0
  60. package/lib/esm/express/auth.js.map +1 -0
  61. package/lib/esm/express/index.js +4 -0
  62. package/lib/esm/express/index.js.map +1 -0
  63. package/lib/esm/express/listEndpoints.js +168 -0
  64. package/lib/esm/express/listEndpoints.js.map +1 -0
  65. package/lib/esm/express/middleware.js +160 -0
  66. package/lib/esm/express/middleware.js.map +1 -0
  67. package/lib/esm/fastify/auth.js +98 -0
  68. package/lib/esm/fastify/auth.js.map +1 -0
  69. package/lib/esm/fastify/index.js +4 -0
  70. package/lib/esm/fastify/index.js.map +1 -0
  71. package/lib/esm/fastify/plugin.js +140 -0
  72. package/lib/esm/fastify/plugin.js.map +1 -0
  73. package/lib/esm/index.js +1 -0
  74. package/lib/esm/index.js.map +1 -0
  75. package/lib/esm/koa/auth.js +106 -0
  76. package/lib/esm/koa/auth.js.map +1 -0
  77. package/lib/esm/koa/index.js +4 -0
  78. package/lib/esm/koa/index.js.map +1 -0
  79. package/lib/esm/koa/middleware.js +115 -0
  80. package/lib/esm/koa/middleware.js.map +1 -0
  81. package/lib/esm/nestjs/auth.js +126 -0
  82. package/lib/esm/nestjs/auth.js.map +1 -0
  83. package/lib/esm/nestjs/index.js +4 -0
  84. package/lib/esm/nestjs/index.js.map +1 -0
  85. package/{dist/src → lib/types}/common/client.d.ts +7 -6
  86. package/lib/types/common/client.d.ts.map +1 -0
  87. package/lib/types/common/index.d.ts +2 -0
  88. package/{dist/src → lib/types}/common/index.d.ts.map +1 -1
  89. package/{dist/src → lib/types}/common/requestLogger.d.ts +1 -1
  90. package/{dist/src → lib/types}/common/requestLogger.d.ts.map +1 -1
  91. package/{dist/src → lib/types}/common/types.d.ts +2 -2
  92. package/lib/types/common/types.d.ts.map +1 -0
  93. package/{dist/src → lib/types}/common/validationErrorLogger.d.ts +1 -1
  94. package/{dist/src → lib/types}/common/validationErrorLogger.d.ts.map +1 -1
  95. package/{dist/src → lib/types}/express/auth.d.ts +1 -1
  96. package/lib/types/express/auth.d.ts.map +1 -0
  97. package/lib/types/express/index.d.ts +4 -0
  98. package/{dist/src → lib/types}/express/index.d.ts.map +1 -1
  99. package/lib/types/express/listEndpoints.d.ts +3 -0
  100. package/{dist/src → lib/types}/express/middleware.d.ts +3 -3
  101. package/lib/types/express/middleware.d.ts.map +1 -0
  102. package/{dist/src → lib/types}/fastify/auth.d.ts +1 -1
  103. package/lib/types/fastify/auth.d.ts.map +1 -0
  104. package/lib/types/fastify/index.d.ts +4 -0
  105. package/{dist/src → lib/types}/fastify/index.d.ts.map +1 -1
  106. package/lib/types/fastify/plugin.d.ts +15 -0
  107. package/lib/types/fastify/plugin.d.ts.map +1 -0
  108. package/lib/types/koa/index.d.ts +4 -0
  109. package/{dist/src → lib/types}/koa/index.d.ts.map +1 -1
  110. package/{dist/src → lib/types}/koa/middleware.d.ts +1 -1
  111. package/{dist/src → lib/types}/koa/middleware.d.ts.map +1 -1
  112. package/{dist/src → lib/types}/nestjs/auth.d.ts +1 -1
  113. package/{dist/src → lib/types}/nestjs/auth.d.ts.map +1 -1
  114. package/lib/types/nestjs/index.d.ts +4 -0
  115. package/lib/types/nestjs/index.d.ts.map +1 -0
  116. package/package.json +96 -7
  117. package/dist/src/common/client.d.ts.map +0 -1
  118. package/dist/src/common/client.js +0 -244
  119. package/dist/src/common/client.js.map +0 -1
  120. package/dist/src/common/index.d.ts +0 -2
  121. package/dist/src/common/index.js +0 -6
  122. package/dist/src/common/index.js.map +0 -1
  123. package/dist/src/common/keyRegistry.js +0 -90
  124. package/dist/src/common/keyRegistry.js.map +0 -1
  125. package/dist/src/common/logging.js +0 -13
  126. package/dist/src/common/logging.js.map +0 -1
  127. package/dist/src/common/requestLogger.js +0 -49
  128. package/dist/src/common/requestLogger.js.map +0 -1
  129. package/dist/src/common/types.d.ts.map +0 -1
  130. package/dist/src/common/types.js +0 -3
  131. package/dist/src/common/types.js.map +0 -1
  132. package/dist/src/common/utils.js +0 -23
  133. package/dist/src/common/utils.js.map +0 -1
  134. package/dist/src/common/validationErrorLogger.js +0 -40
  135. package/dist/src/common/validationErrorLogger.js.map +0 -1
  136. package/dist/src/express/auth.d.ts.map +0 -1
  137. package/dist/src/express/auth.js +0 -66
  138. package/dist/src/express/auth.js.map +0 -1
  139. package/dist/src/express/index.d.ts +0 -4
  140. package/dist/src/express/index.js +0 -10
  141. package/dist/src/express/index.js.map +0 -1
  142. package/dist/src/express/listEndpoints.d.ts +0 -3
  143. package/dist/src/express/listEndpoints.js +0 -166
  144. package/dist/src/express/listEndpoints.js.map +0 -1
  145. package/dist/src/express/middleware.d.ts.map +0 -1
  146. package/dist/src/express/middleware.js +0 -164
  147. package/dist/src/express/middleware.js.map +0 -1
  148. package/dist/src/fastify/auth.d.ts.map +0 -1
  149. package/dist/src/fastify/auth.js +0 -66
  150. package/dist/src/fastify/auth.js.map +0 -1
  151. package/dist/src/fastify/index.d.ts +0 -4
  152. package/dist/src/fastify/index.js +0 -13
  153. package/dist/src/fastify/index.js.map +0 -1
  154. package/dist/src/fastify/plugin.d.ts +0 -16
  155. package/dist/src/fastify/plugin.d.ts.map +0 -1
  156. package/dist/src/fastify/plugin.js +0 -124
  157. package/dist/src/fastify/plugin.js.map +0 -1
  158. package/dist/src/index.js +0 -3
  159. package/dist/src/index.js.map +0 -1
  160. package/dist/src/koa/auth.js +0 -67
  161. package/dist/src/koa/auth.js.map +0 -1
  162. package/dist/src/koa/index.d.ts +0 -4
  163. package/dist/src/koa/index.js +0 -10
  164. package/dist/src/koa/index.js.map +0 -1
  165. package/dist/src/koa/middleware.js +0 -108
  166. package/dist/src/koa/middleware.js.map +0 -1
  167. package/dist/src/nestjs/auth.js +0 -88
  168. package/dist/src/nestjs/auth.js.map +0 -1
  169. package/dist/src/nestjs/index.d.ts +0 -4
  170. package/dist/src/nestjs/index.d.ts.map +0 -1
  171. package/dist/src/nestjs/index.js +0 -12
  172. package/dist/src/nestjs/index.js.map +0 -1
  173. /package/{dist/src → lib/types}/common/keyRegistry.d.ts +0 -0
  174. /package/{dist/src → lib/types}/common/keyRegistry.d.ts.map +0 -0
  175. /package/{dist/src → lib/types}/common/logging.d.ts +0 -0
  176. /package/{dist/src → lib/types}/common/logging.d.ts.map +0 -0
  177. /package/{dist/src → lib/types}/common/utils.d.ts +0 -0
  178. /package/{dist/src → lib/types}/common/utils.d.ts.map +0 -0
  179. /package/{dist/src → lib/types}/express/listEndpoints.d.ts.map +0 -0
  180. /package/{dist/src → lib/types}/index.d.ts +0 -0
  181. /package/{dist/src → lib/types}/index.d.ts.map +0 -0
  182. /package/{dist/src → lib/types}/koa/auth.d.ts +0 -0
  183. /package/{dist/src → lib/types}/koa/auth.d.ts.map +0 -0
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useApitally = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _perf_hooks = require("perf_hooks");
11
+ var _client = require("../common/client.js");
12
+ var _keyRegistry = require("../common/keyRegistry.js");
13
+ var _utils = require("../common/utils.js");
14
+ var _listEndpoints = _interopRequireDefault(require("./listEndpoints.js"));
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ var useApitally = exports.useApitally = function useApitally(app, config) {
18
+ var client = new _client.ApitallyClient(config);
19
+ var middleware = getMiddleware(client);
20
+ app.use(middleware);
21
+ setTimeout(function () {
22
+ client.setAppInfo(getAppInfo(app, config.appVersion));
23
+ }, 100);
24
+ };
25
+ var getMiddleware = function getMiddleware(client) {
26
+ var validatorInstalled = (0, _utils.getPackageVersion)("express-validator") !== null;
27
+ var celebrateInstalled = (0, _utils.getPackageVersion)("celebrate") !== null;
28
+ var nestInstalled = (0, _utils.getPackageVersion)("@nestjs/core") !== null;
29
+ var classValidatorInstalled = (0, _utils.getPackageVersion)("class-validator") !== null;
30
+ return function (req, res, next) {
31
+ try {
32
+ var startTime = _perf_hooks.performance.now();
33
+ var originalJson = res.json;
34
+ res.json = function (body) {
35
+ res.locals.body = body;
36
+ return originalJson.call(res, body);
37
+ };
38
+ res.on("finish", function () {
39
+ try {
40
+ if (req.route) {
41
+ var responseTime = _perf_hooks.performance.now() - startTime;
42
+ client.requestLogger.logRequest({
43
+ consumer: getConsumer(req),
44
+ method: req.method,
45
+ path: req.route.path,
46
+ statusCode: res.statusCode,
47
+ responseTime: responseTime
48
+ });
49
+ if ((res.statusCode === 400 || res.statusCode === 422) && res.locals.body) {
50
+ var validationErrors = [];
51
+ if (validatorInstalled) {
52
+ validationErrors.push.apply(validationErrors, (0, _toConsumableArray2["default"])(extractExpressValidatorErrors(res.locals.body)));
53
+ }
54
+ if (celebrateInstalled) {
55
+ validationErrors.push.apply(validationErrors, (0, _toConsumableArray2["default"])(extractCelebrateErrors(res.locals.body)));
56
+ }
57
+ if (nestInstalled && classValidatorInstalled) {
58
+ validationErrors.push.apply(validationErrors, (0, _toConsumableArray2["default"])(extractNestValidationErrors(res.locals.body)));
59
+ }
60
+ validationErrors.forEach(function (error) {
61
+ client.validationErrorLogger.logValidationError(_objectSpread({
62
+ consumer: getConsumer(req),
63
+ method: req.method,
64
+ path: req.route.path
65
+ }, error));
66
+ });
67
+ }
68
+ }
69
+ } catch (error) {
70
+ client.logger.error("Error while logging request in Apitally middleware.", {
71
+ request: req,
72
+ response: res,
73
+ error: error
74
+ });
75
+ }
76
+ });
77
+ } catch (error) {
78
+ client.logger.error("Error in Apitally middleware.", {
79
+ request: req,
80
+ response: res,
81
+ error: error
82
+ });
83
+ } finally {
84
+ next();
85
+ }
86
+ };
87
+ };
88
+ var getConsumer = function getConsumer(req) {
89
+ if (req.consumerIdentifier) {
90
+ return String(req.consumerIdentifier);
91
+ }
92
+ if (req.keyInfo && req.keyInfo instanceof _keyRegistry.KeyInfo) {
93
+ return "key:".concat(req.keyInfo.keyId);
94
+ }
95
+ return null;
96
+ };
97
+ var extractExpressValidatorErrors = function extractExpressValidatorErrors(responseBody) {
98
+ var errors = [];
99
+ if (responseBody && responseBody.errors && Array.isArray(responseBody.errors)) {
100
+ responseBody.errors.forEach(function (error) {
101
+ if (error.location && error.path && error.msg && error.type) {
102
+ errors.push({
103
+ loc: "".concat(error.location, ".").concat(error.path),
104
+ msg: error.msg,
105
+ type: error.type
106
+ });
107
+ }
108
+ });
109
+ }
110
+ return errors;
111
+ };
112
+ var extractCelebrateErrors = function extractCelebrateErrors(responseBody) {
113
+ var errors = [];
114
+ if (responseBody && responseBody.validation) {
115
+ Object.values(responseBody.validation).forEach(function (error) {
116
+ if (error.source && error.keys && Array.isArray(error.keys) && error.message) {
117
+ error.keys.forEach(function (key) {
118
+ errors.push({
119
+ loc: "".concat(error.source, ".").concat(key),
120
+ msg: subsetJoiMessage(error.message, key),
121
+ type: ""
122
+ });
123
+ });
124
+ }
125
+ });
126
+ }
127
+ return errors;
128
+ };
129
+ var extractNestValidationErrors = function extractNestValidationErrors(responseBody) {
130
+ var errors = [];
131
+ if (responseBody && Array.isArray(responseBody.message)) {
132
+ responseBody.message.forEach(function (message) {
133
+ errors.push({
134
+ loc: "",
135
+ msg: message,
136
+ type: ""
137
+ });
138
+ });
139
+ }
140
+ return errors;
141
+ };
142
+ var subsetJoiMessage = function subsetJoiMessage(message, key) {
143
+ var messageWithKey = message.split(". ").find(function (message) {
144
+ return message.includes("\"".concat(key, "\""));
145
+ });
146
+ return messageWithKey ? messageWithKey : message;
147
+ };
148
+ var getAppInfo = function getAppInfo(app, appVersion) {
149
+ var versions = [["nodejs", process.version]];
150
+ var expressVersion = (0, _utils.getPackageVersion)("express");
151
+ var apitallyVersion = (0, _utils.getPackageVersion)("../..");
152
+ if (expressVersion) {
153
+ versions.push(["express", expressVersion]);
154
+ }
155
+ if (apitallyVersion) {
156
+ versions.push(["apitally", apitallyVersion]);
157
+ }
158
+ if (appVersion) {
159
+ versions.push(["app", appVersion]);
160
+ }
161
+ return {
162
+ paths: (0, _listEndpoints["default"])(app),
163
+ versions: new Map(versions),
164
+ client: "js:express"
165
+ };
166
+ };
167
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","names":["_perf_hooks","require","_client","_keyRegistry","_utils","_listEndpoints","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","useApitally","exports","app","config","client","ApitallyClient","middleware","getMiddleware","use","setTimeout","setAppInfo","getAppInfo","appVersion","validatorInstalled","getPackageVersion","celebrateInstalled","nestInstalled","classValidatorInstalled","req","res","next","startTime","performance","now","originalJson","json","body","locals","call","on","route","responseTime","requestLogger","logRequest","consumer","getConsumer","method","path","statusCode","validationErrors","_toConsumableArray2","extractExpressValidatorErrors","extractCelebrateErrors","extractNestValidationErrors","error","validationErrorLogger","logValidationError","logger","request","response","consumerIdentifier","String","keyInfo","KeyInfo","concat","keyId","responseBody","errors","Array","isArray","location","msg","type","loc","validation","values","source","message","key","subsetJoiMessage","messageWithKey","split","find","includes","versions","process","version","expressVersion","apitallyVersion","paths","listEndpoints","Map"],"sources":["../../../src/express/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.requireApiKey = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _client = require("../common/client.js");
11
+ var requireApiKey = exports.requireApiKey = function requireApiKey() {
12
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
13
+ scopes = _ref.scopes,
14
+ customHeader = _ref.customHeader;
15
+ return /*#__PURE__*/function () {
16
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(request, reply, done) {
17
+ var apiKey, authorizationParts, customHeaderValue, client, keyInfo;
18
+ return _regenerator["default"].wrap(function _callee$(_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ if (customHeader) {
22
+ _context.next = 13;
23
+ break;
24
+ }
25
+ if (request.headers.authorization) {
26
+ _context.next = 4;
27
+ break;
28
+ }
29
+ reply.code(401).header("WWW-Authenticate", "ApiKey").send({
30
+ error: "Missing authorization header"
31
+ });
32
+ return _context.abrupt("return");
33
+ case 4:
34
+ authorizationParts = request.headers.authorization.split(" ");
35
+ if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
36
+ _context.next = 9;
37
+ break;
38
+ }
39
+ apiKey = authorizationParts[1];
40
+ _context.next = 11;
41
+ break;
42
+ case 9:
43
+ reply.code(401).header("WWW-Authenticate", "ApiKey").send({
44
+ error: "Invalid authorization scheme"
45
+ });
46
+ return _context.abrupt("return");
47
+ case 11:
48
+ _context.next = 14;
49
+ break;
50
+ case 13:
51
+ if (customHeader) {
52
+ customHeaderValue = request.headers[customHeader.toLowerCase()];
53
+ if (typeof customHeaderValue === "string") {
54
+ apiKey = customHeaderValue;
55
+ } else if (Array.isArray(customHeaderValue)) {
56
+ apiKey = customHeaderValue[0];
57
+ }
58
+ }
59
+ case 14:
60
+ if (apiKey) {
61
+ _context.next = 17;
62
+ break;
63
+ }
64
+ reply.code(403).send({
65
+ error: "Missing API key"
66
+ });
67
+ return _context.abrupt("return");
68
+ case 17:
69
+ client = _client.ApitallyClient.getInstance();
70
+ _context.next = 20;
71
+ return client.keyRegistry.get(apiKey);
72
+ case 20:
73
+ keyInfo = _context.sent;
74
+ if (keyInfo) {
75
+ _context.next = 24;
76
+ break;
77
+ }
78
+ reply.code(403).send({
79
+ error: "Invalid API key"
80
+ });
81
+ return _context.abrupt("return");
82
+ case 24:
83
+ if (!(scopes && !keyInfo.hasScopes(scopes))) {
84
+ _context.next = 27;
85
+ break;
86
+ }
87
+ reply.code(403).send({
88
+ error: "Permission denied"
89
+ });
90
+ return _context.abrupt("return");
91
+ case 27:
92
+ request.keyInfo = keyInfo;
93
+ done();
94
+ case 29:
95
+ case "end":
96
+ return _context.stop();
97
+ }
98
+ }, _callee);
99
+ }));
100
+ return function (_x, _x2, _x3) {
101
+ return _ref2.apply(this, arguments);
102
+ };
103
+ }();
104
+ };
105
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","names":["_client","require","requireApiKey","exports","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","request","reply","done","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","next","headers","authorization","code","header","send","error","abrupt","split","toLowerCase","Array","isArray","ApitallyClient","getInstance","keyRegistry","get","sent","hasScopes","stop","_x","_x2","_x3","apply"],"sources":["../../../src/fastify/auth.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AAEO,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAMhB;EAAA,IAAAE,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAN,EAAE;IALJG,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,YAAY,GAAAL,IAAA,CAAZK,YAAY;EAKZ;IAAA,IAAAC,KAAA,OAAAC,kBAAA,2BAAAC,YAAA,YAAAC,IAAA,CAAO,SAAAC,QACLC,OAAuB,EACvBC,KAAmB,EACnBC,IAA0B;MAAA,IAAAC,MAAA,EAAAC,kBAAA,EAAAC,iBAAA,EAAAC,MAAA,EAAAC,OAAA;MAAA,OAAAV,YAAA,YAAAW,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,IAIrBlB,YAAY;cAAAgB,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,IACVZ,OAAO,CAACa,OAAO,CAACC,aAAa;cAAAJ,QAAA,CAAAE,IAAA;cAAA;YAAA;YAChCX,KAAK,CACFc,IAAI,CAAC,GAAG,CAAC,CACTC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CACpCC,IAAI,CAAC;cAAEC,KAAK,EAAE;YAA8B,CAAE,CAAC;YAAC,OAAAR,QAAA,CAAAS,MAAA;UAAA;YAG/Cf,kBAAkB,GAAGJ,OAAO,CAACa,OAAO,CAACC,aAAa,CAACM,KAAK,CAAC,GAAG,CAAC;YAAA,MAEjEhB,kBAAkB,CAACb,MAAM,KAAK,CAAC,IAC/Ba,kBAAkB,CAAC,CAAC,CAAC,CAACiB,WAAW,EAAE,KAAK,QAAQ;cAAAX,QAAA,CAAAE,IAAA;cAAA;YAAA;YAEhDT,MAAM,GAAGC,kBAAkB,CAAC,CAAC,CAAC;YAACM,QAAA,CAAAE,IAAA;YAAA;UAAA;YAE/BX,KAAK,CACFc,IAAI,CAAC,GAAG,CAAC,CACTC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CACpCC,IAAI,CAAC;cAAEC,KAAK,EAAE;YAA8B,CAAE,CAAC;YAAC,OAAAR,QAAA,CAAAS,MAAA;UAAA;YAAAT,QAAA,CAAAE,IAAA;YAAA;UAAA;YAGhD,IAAIlB,YAAY,EAAE;cACjBW,iBAAiB,GAAGL,OAAO,CAACa,OAAO,CAACnB,YAAY,CAAC2B,WAAW,EAAE,CAAC;cACrE,IAAI,OAAOhB,iBAAiB,KAAK,QAAQ,EAAE;gBACzCF,MAAM,GAAGE,iBAAiB;cAC5B,CAAC,MAAM,IAAIiB,KAAK,CAACC,OAAO,CAAClB,iBAAiB,CAAC,EAAE;gBAC3CF,MAAM,GAAGE,iBAAiB,CAAC,CAAC,CAAC;cAC/B;YACF;UAAC;YAAA,IAEIF,MAAM;cAAAO,QAAA,CAAAE,IAAA;cAAA;YAAA;YACTX,KAAK,CAACc,IAAI,CAAC,GAAG,CAAC,CAACE,IAAI,CAAC;cAAEC,KAAK,EAAE;YAAiB,CAAE,CAAC;YAAC,OAAAR,QAAA,CAAAS,MAAA;UAAA;YAI/Cb,MAAM,GAAGkB,sBAAc,CAACC,WAAW,EAAE;YAAAf,QAAA,CAAAE,IAAA;YAAA,OACrBN,MAAM,CAACoB,WAAW,CAACC,GAAG,CAACxB,MAAM,CAAC;UAAA;YAA9CI,OAAO,GAAAG,QAAA,CAAAkB,IAAA;YAAA,IACRrB,OAAO;cAAAG,QAAA,CAAAE,IAAA;cAAA;YAAA;YACVX,KAAK,CAACc,IAAI,CAAC,GAAG,CAAC,CAACE,IAAI,CAAC;cAAEC,KAAK,EAAE;YAAiB,CAAE,CAAC;YAAC,OAAAR,QAAA,CAAAS,MAAA;UAAA;YAAA,MAGjD1B,MAAM,IAAI,CAACc,OAAO,CAACsB,SAAS,CAACpC,MAAM,CAAC;cAAAiB,QAAA,CAAAE,IAAA;cAAA;YAAA;YACtCX,KAAK,CAACc,IAAI,CAAC,GAAG,CAAC,CAACE,IAAI,CAAC;cAAEC,KAAK,EAAE;YAAmB,CAAE,CAAC;YAAC,OAAAR,QAAA,CAAAS,MAAA;UAAA;YAIvDnB,OAAO,CAACO,OAAO,GAAGA,OAAO;YACzBL,IAAI,EAAE;UAAC;UAAA;YAAA,OAAAQ,QAAA,CAAAoB,IAAA;QAAA;MAAA,GAAA/B,OAAA;IAAA,CACR;IAAA,iBAAAgC,EAAA,EAAAC,GAAA,EAAAC,GAAA;MAAA,OAAAtC,KAAA,CAAAuC,KAAA,OAAA5C,SAAA;IAAA;EAAA;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "KeyInfo", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _keyRegistry.KeyInfo;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "apitallyPlugin", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _plugin["default"];
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "requireApiKey", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _auth.requireApiKey;
23
+ }
24
+ });
25
+ var _keyRegistry = require("../common/keyRegistry.js");
26
+ var _auth = require("./auth.js");
27
+ var _plugin = _interopRequireDefault(require("./plugin.js"));
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_keyRegistry","require","_auth","_plugin","_interopRequireDefault"],"sources":["../../../src/fastify/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _fastifyPlugin = _interopRequireDefault(require("fastify-plugin"));
12
+ var _client = require("../common/client.js");
13
+ var _keyRegistry = require("../common/keyRegistry.js");
14
+ var _utils = require("../common/utils.js");
15
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
+ var apitallyPlugin = /*#__PURE__*/function () {
18
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(fastify, config) {
19
+ var client, routes;
20
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
21
+ while (1) switch (_context2.prev = _context2.next) {
22
+ case 0:
23
+ client = new _client.ApitallyClient(config);
24
+ routes = [];
25
+ fastify.decorateRequest("consumerIdentifier", null);
26
+ fastify.decorateRequest("keyInfo", null);
27
+ fastify.decorateReply("payload", null);
28
+ fastify.addHook("onRoute", function (routeOptions) {
29
+ var methods = Array.isArray(routeOptions.method) ? routeOptions.method : [routeOptions.method];
30
+ methods.forEach(function (method) {
31
+ routeOptions.onSend;
32
+ if (method !== "HEAD") {
33
+ routes.push({
34
+ method: method,
35
+ path: routeOptions.url
36
+ });
37
+ }
38
+ });
39
+ });
40
+ fastify.addHook("onReady", function () {
41
+ client.setAppInfo(getAppInfo(routes, config.appVersion));
42
+ });
43
+ fastify.addHook("onClose", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
+ return _regenerator["default"].wrap(function _callee$(_context) {
45
+ while (1) switch (_context.prev = _context.next) {
46
+ case 0:
47
+ _context.next = 2;
48
+ return client.handleShutdown();
49
+ case 2:
50
+ case "end":
51
+ return _context.stop();
52
+ }
53
+ }, _callee);
54
+ })));
55
+ fastify.addHook("onSend", function (request, reply, payload, done) {
56
+ try {
57
+ reply.payload = JSON.parse(payload);
58
+ } catch (error) {} // eslint-disable-line no-empty
59
+ done();
60
+ });
61
+ fastify.addHook("onResponse", function (request, reply, done) {
62
+ // Get path from routeOptions if available (from v4), otherwise fallback to deprecated routerPath
63
+ var path = "routeOptions" in request ? request.routeOptions.url : request.routerPath;
64
+ client.requestLogger.logRequest({
65
+ consumer: getConsumer(request),
66
+ method: request.method,
67
+ path: path,
68
+ statusCode: reply.statusCode,
69
+ responseTime: reply.getResponseTime()
70
+ });
71
+ if ((reply.statusCode === 400 || reply.statusCode === 422) && reply.payload && (!reply.payload.code || reply.payload.code === "FST_ERR_VALIDATION") && typeof reply.payload.message === "string") {
72
+ var validationErrors = extractAjvErrors(reply.payload.message);
73
+ validationErrors.forEach(function (error) {
74
+ client.validationErrorLogger.logValidationError(_objectSpread({
75
+ consumer: getConsumer(request),
76
+ method: request.method,
77
+ path: path
78
+ }, error));
79
+ });
80
+ }
81
+ done();
82
+ });
83
+ case 10:
84
+ case "end":
85
+ return _context2.stop();
86
+ }
87
+ }, _callee2);
88
+ }));
89
+ return function apitallyPlugin(_x, _x2) {
90
+ return _ref.apply(this, arguments);
91
+ };
92
+ }();
93
+ var getAppInfo = function getAppInfo(routes, appVersion) {
94
+ var versions = [["nodejs", process.version]];
95
+ var fastifyVersion = (0, _utils.getPackageVersion)("fastify");
96
+ var apitallyVersion = (0, _utils.getPackageVersion)("../..");
97
+ if (fastifyVersion) {
98
+ versions.push(["fastify", fastifyVersion]);
99
+ }
100
+ if (apitallyVersion) {
101
+ versions.push(["apitally", apitallyVersion]);
102
+ }
103
+ if (appVersion) {
104
+ versions.push(["app", appVersion]);
105
+ }
106
+ return {
107
+ paths: routes,
108
+ versions: new Map(versions),
109
+ client: "js:fastify"
110
+ };
111
+ };
112
+ var getConsumer = function getConsumer(request) {
113
+ if (request.consumerIdentifier) {
114
+ return String(request.consumerIdentifier);
115
+ }
116
+ if (request.keyInfo && request.keyInfo instanceof _keyRegistry.KeyInfo) {
117
+ return "key:".concat(request.keyInfo.keyId);
118
+ }
119
+ return null;
120
+ };
121
+ var extractAjvErrors = function extractAjvErrors(message) {
122
+ var regex = /(?<=^|, )((?:headers|params|query|querystring|body)[/.][^ ]+)(?= )/g;
123
+ var matches = [];
124
+ var match;
125
+ while ((match = regex.exec(message)) !== null) {
126
+ matches.push({
127
+ match: match[0],
128
+ index: match.index
129
+ });
130
+ }
131
+ return matches.map(function (m, i) {
132
+ var endIndex = i + 1 < matches.length ? matches[i + 1].index - 2 : message.length;
133
+ var matchSplit = m.match.split(/[/.]/);
134
+ if (matchSplit[0] === "querystring") {
135
+ matchSplit[0] = "query";
136
+ }
137
+ return {
138
+ loc: matchSplit.join("."),
139
+ msg: message.substring(m.index, endIndex),
140
+ type: ""
141
+ };
142
+ });
143
+ };
144
+ var _default = exports["default"] = (0, _fastifyPlugin["default"])(apitallyPlugin, {
145
+ name: "apitally"
146
+ });
147
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":["_fastifyPlugin","_interopRequireDefault","require","_client","_keyRegistry","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","apitallyPlugin","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","fastify","config","client","routes","wrap","_callee2$","_context2","prev","next","ApitallyClient","decorateRequest","decorateReply","addHook","routeOptions","methods","Array","isArray","method","onSend","path","url","setAppInfo","getAppInfo","appVersion","_callee","_callee$","_context","handleShutdown","stop","request","reply","payload","done","JSON","parse","error","routerPath","requestLogger","logRequest","consumer","getConsumer","statusCode","responseTime","getResponseTime","code","message","validationErrors","extractAjvErrors","validationErrorLogger","logValidationError","_x","_x2","versions","process","version","fastifyVersion","getPackageVersion","apitallyVersion","paths","Map","consumerIdentifier","String","keyInfo","KeyInfo","concat","keyId","regex","matches","match","exec","index","map","m","i","endIndex","matchSplit","split","loc","join","msg","substring","type","_default","exports","fp","name"],"sources":["../../../src/fastify/plugin.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":""}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.requireApiKey = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _client = require("../common/client.js");
11
+ var requireApiKey = exports.requireApiKey = function requireApiKey() {
12
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
13
+ scopes = _ref.scopes,
14
+ customHeader = _ref.customHeader;
15
+ return /*#__PURE__*/function () {
16
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(ctx, next) {
17
+ var apiKey, authorizationParts, customHeaderValue, client, keyInfo;
18
+ return _regenerator["default"].wrap(function _callee$(_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ if (customHeader) {
22
+ _context.next = 17;
23
+ break;
24
+ }
25
+ if (ctx.headers.authorization) {
26
+ _context.next = 6;
27
+ break;
28
+ }
29
+ ctx.status = 401;
30
+ ctx.set("WWW-Authenticate", "ApiKey");
31
+ ctx.body = {
32
+ error: "Missing authorization header"
33
+ };
34
+ return _context.abrupt("return");
35
+ case 6:
36
+ authorizationParts = ctx.headers.authorization.split(" ");
37
+ if (!(authorizationParts.length === 2 && authorizationParts[0].toLowerCase() === "apikey")) {
38
+ _context.next = 11;
39
+ break;
40
+ }
41
+ apiKey = authorizationParts[1];
42
+ _context.next = 15;
43
+ break;
44
+ case 11:
45
+ ctx.status = 401;
46
+ ctx.set("WWW-Authenticate", "ApiKey");
47
+ ctx.body = {
48
+ error: "Invalid authorization scheme"
49
+ };
50
+ return _context.abrupt("return");
51
+ case 15:
52
+ _context.next = 18;
53
+ break;
54
+ case 17:
55
+ if (customHeader) {
56
+ customHeaderValue = ctx.headers[customHeader.toLowerCase()];
57
+ if (typeof customHeaderValue === "string") {
58
+ apiKey = customHeaderValue;
59
+ } else if (Array.isArray(customHeaderValue)) {
60
+ apiKey = customHeaderValue[0];
61
+ }
62
+ }
63
+ case 18:
64
+ if (apiKey) {
65
+ _context.next = 22;
66
+ break;
67
+ }
68
+ ctx.status = 403;
69
+ ctx.body = {
70
+ error: "Missing API key"
71
+ };
72
+ return _context.abrupt("return");
73
+ case 22:
74
+ client = _client.ApitallyClient.getInstance();
75
+ _context.next = 25;
76
+ return client.keyRegistry.get(apiKey);
77
+ case 25:
78
+ keyInfo = _context.sent;
79
+ if (keyInfo) {
80
+ _context.next = 30;
81
+ break;
82
+ }
83
+ ctx.status = 403;
84
+ ctx.body = {
85
+ error: "Invalid API key"
86
+ };
87
+ return _context.abrupt("return");
88
+ case 30:
89
+ if (!(scopes && !keyInfo.hasScopes(scopes))) {
90
+ _context.next = 34;
91
+ break;
92
+ }
93
+ ctx.status = 403;
94
+ ctx.body = {
95
+ error: "Permission denied"
96
+ };
97
+ return _context.abrupt("return");
98
+ case 34:
99
+ ctx.state.keyInfo = keyInfo;
100
+ _context.next = 37;
101
+ return next();
102
+ case 37:
103
+ case "end":
104
+ return _context.stop();
105
+ }
106
+ }, _callee);
107
+ }));
108
+ return function (_x, _x2) {
109
+ return _ref2.apply(this, arguments);
110
+ };
111
+ }();
112
+ };
113
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","names":["_client","require","requireApiKey","exports","_ref","arguments","length","undefined","scopes","customHeader","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","ctx","next","apiKey","authorizationParts","customHeaderValue","client","keyInfo","wrap","_callee$","_context","prev","headers","authorization","status","set","body","error","abrupt","split","toLowerCase","Array","isArray","ApitallyClient","getInstance","keyRegistry","get","sent","hasScopes","state","stop","_x","_x2","apply"],"sources":["../../../src/koa/auth.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "KeyInfo", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _keyRegistry.KeyInfo;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "requireApiKey", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _auth.requireApiKey;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useApitally", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _middleware.useApitally;
22
+ }
23
+ });
24
+ var _keyRegistry = require("../common/keyRegistry.js");
25
+ var _auth = require("./auth.js");
26
+ var _middleware = require("./middleware.js");
27
+ //# sourceMappingURL=index.js.map