@honeybadger-io/cloudflare 0.2.0
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.
- package/README.md +58 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +212 -0
- package/dist/index.js.map +1 -0
- package/package.json +47 -0
package/README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Honeybadger Cloudflare Workers Integration
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
[](https://badge.fury.io/js/%40honeybadger-io%2Fcloudflare)
|
|
5
|
+
[](https://www.npmjs.com/package/@honeybadger-io/cloudflare)
|
|
6
|
+
[](https://www.npmjs.com/package/@honeybadger-io/cloudflare)
|
|
7
|
+
|
|
8
|
+
Error monitoring for [Cloudflare Workers](https://developers.cloudflare.com/workers/) via Honeybadger.
|
|
9
|
+
|
|
10
|
+
## Documentation and Support
|
|
11
|
+
|
|
12
|
+
For full documentation and support, see [Honeybadger's JavaScript docs](https://docs.honeybadger.io/lib/javascript).
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @honeybadger-io/cloudflare
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
Wrap your Worker's exported handler with `withHoneybadger`. Pass a `getConfig` function that receives your `env` and returns Honeybadger config overrides (e.g. `apiKey`, `environment`).
|
|
23
|
+
|
|
24
|
+
Set the API key via [Wrangler secrets](https://developers.cloudflare.com/workers/configuration/secrets/):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
wrangler secret put HONEYBADGER_API_KEY
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Pass any `(env) => Partial<Config>` to control Honeybadger config from your env:
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { withHoneybadger } from '@honeybadger-io/cloudflare'
|
|
34
|
+
import type { Types } from '@honeybadger-io/core'
|
|
35
|
+
|
|
36
|
+
const getConfig = (env: Env): Partial<Types.Config> => ({
|
|
37
|
+
apiKey: env.HONEYBADGER_API_KEY,
|
|
38
|
+
environment: env.ENVIRONMENT ?? 'production',
|
|
39
|
+
revision: env.GIT_SHA,
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
export default withHoneybadger(getConfig, {
|
|
43
|
+
async fetch(request, env, ctx) {
|
|
44
|
+
// ...
|
|
45
|
+
},
|
|
46
|
+
async scheduled(controller, env, ctx) {
|
|
47
|
+
// ...
|
|
48
|
+
},
|
|
49
|
+
})
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Supported handlers
|
|
53
|
+
|
|
54
|
+
`withHoneybadger` wraps all handlers present on your export: **fetch**, **scheduled**, **queue**, **email**, and **tail**. Errors in any handler are reported to Honeybadger and rethrown; reporting runs via `ctx.waitUntil()` so it does not block the response.
|
|
55
|
+
|
|
56
|
+
## License
|
|
57
|
+
|
|
58
|
+
This package is MIT licensed. See the [MIT-LICENSE](./MIT-LICENSE) file in this folder for details.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Types } from '@honeybadger-io/core';
|
|
2
|
+
import type { ExportedHandler } from '@cloudflare/workers-types';
|
|
3
|
+
export declare function withHoneybadger<Env>(getConfig: (env: Env) => Partial<Types.Config>, handler: ExportedHandler<Env>): ExportedHandler<Env>;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,2BAA2B,CAAA;AAYlC,wBAAgB,eAAe,CAAC,GAAG,EACjC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAC9C,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAC5B,eAAe,CAAC,GAAG,CAAC,CAqHtB"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.withHoneybadger = withHoneybadger;
|
|
43
|
+
var js_1 = __importDefault(require("@honeybadger-io/js"));
|
|
44
|
+
var HANDLER_NAMES = ['fetch', 'scheduled', 'queue', 'email', 'tail'];
|
|
45
|
+
function reportError(error) {
|
|
46
|
+
if (js_1.default.config.apiKey === undefined || js_1.default.config.apiKey.length === 0) {
|
|
47
|
+
return Promise.resolve();
|
|
48
|
+
}
|
|
49
|
+
var noticeable = error instanceof Error ? error : new Error(String(error));
|
|
50
|
+
return js_1.default.notifyAsync(noticeable);
|
|
51
|
+
}
|
|
52
|
+
function withHoneybadger(getConfig, handler) {
|
|
53
|
+
var _this = this;
|
|
54
|
+
var _loop_1 = function (name_1) {
|
|
55
|
+
var fn = handler[name_1];
|
|
56
|
+
if (typeof fn !== 'function') {
|
|
57
|
+
return "continue";
|
|
58
|
+
}
|
|
59
|
+
if (name_1 === 'fetch') {
|
|
60
|
+
var fetchHandler_1 = fn;
|
|
61
|
+
handler.fetch = function (request, env, ctx) { return __awaiter(_this, void 0, void 0, function () {
|
|
62
|
+
var config, error_1;
|
|
63
|
+
return __generator(this, function (_a) {
|
|
64
|
+
switch (_a.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
config = getConfig(env);
|
|
67
|
+
if (config.apiKey && (js_1.default.config.apiKey === undefined || js_1.default.config.apiKey.length === 0)) {
|
|
68
|
+
js_1.default.configure(config);
|
|
69
|
+
js_1.default.setContext({ url: request.url, method: request.method });
|
|
70
|
+
}
|
|
71
|
+
_a.label = 1;
|
|
72
|
+
case 1:
|
|
73
|
+
_a.trys.push([1, 3, , 4]);
|
|
74
|
+
return [4 /*yield*/, fetchHandler_1(request, env, ctx)];
|
|
75
|
+
case 2: return [2 /*return*/, _a.sent()];
|
|
76
|
+
case 3:
|
|
77
|
+
error_1 = _a.sent();
|
|
78
|
+
ctx.waitUntil(reportError(error_1));
|
|
79
|
+
throw error_1;
|
|
80
|
+
case 4: return [2 /*return*/];
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}); };
|
|
84
|
+
return "continue";
|
|
85
|
+
}
|
|
86
|
+
if (name_1 === 'scheduled') {
|
|
87
|
+
var scheduledHandler_1 = fn;
|
|
88
|
+
handler.scheduled = (function (controller, env, ctx) { return __awaiter(_this, void 0, void 0, function () {
|
|
89
|
+
var config, error_2;
|
|
90
|
+
return __generator(this, function (_a) {
|
|
91
|
+
switch (_a.label) {
|
|
92
|
+
case 0:
|
|
93
|
+
config = getConfig(env);
|
|
94
|
+
if (config.apiKey && (js_1.default.config.apiKey === undefined || js_1.default.config.apiKey.length === 0)) {
|
|
95
|
+
js_1.default.configure(config);
|
|
96
|
+
js_1.default.setContext({
|
|
97
|
+
cron: controller.cron,
|
|
98
|
+
scheduledTime: controller.scheduledTime,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
_a.label = 1;
|
|
102
|
+
case 1:
|
|
103
|
+
_a.trys.push([1, 3, , 4]);
|
|
104
|
+
return [4 /*yield*/, scheduledHandler_1(controller, env, ctx)];
|
|
105
|
+
case 2:
|
|
106
|
+
_a.sent();
|
|
107
|
+
return [3 /*break*/, 4];
|
|
108
|
+
case 3:
|
|
109
|
+
error_2 = _a.sent();
|
|
110
|
+
ctx.waitUntil(reportError(error_2));
|
|
111
|
+
throw error_2;
|
|
112
|
+
case 4: return [2 /*return*/];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}); });
|
|
116
|
+
return "continue";
|
|
117
|
+
}
|
|
118
|
+
if (name_1 === 'queue') {
|
|
119
|
+
var queueHandler_1 = fn;
|
|
120
|
+
handler.queue = (function (batch, env, ctx) { return __awaiter(_this, void 0, void 0, function () {
|
|
121
|
+
var config, error_3;
|
|
122
|
+
return __generator(this, function (_a) {
|
|
123
|
+
switch (_a.label) {
|
|
124
|
+
case 0:
|
|
125
|
+
config = getConfig(env);
|
|
126
|
+
if (config.apiKey && (js_1.default.config.apiKey === undefined || js_1.default.config.apiKey.length === 0)) {
|
|
127
|
+
js_1.default.configure(config);
|
|
128
|
+
js_1.default.setContext({
|
|
129
|
+
queue: batch.queue,
|
|
130
|
+
messageCount: batch.messages.length,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
_a.label = 1;
|
|
134
|
+
case 1:
|
|
135
|
+
_a.trys.push([1, 3, , 4]);
|
|
136
|
+
return [4 /*yield*/, queueHandler_1(batch, env, ctx)];
|
|
137
|
+
case 2:
|
|
138
|
+
_a.sent();
|
|
139
|
+
return [3 /*break*/, 4];
|
|
140
|
+
case 3:
|
|
141
|
+
error_3 = _a.sent();
|
|
142
|
+
ctx.waitUntil(reportError(error_3));
|
|
143
|
+
throw error_3;
|
|
144
|
+
case 4: return [2 /*return*/];
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}); });
|
|
148
|
+
return "continue";
|
|
149
|
+
}
|
|
150
|
+
if (name_1 === 'email') {
|
|
151
|
+
var emailHandler_1 = fn;
|
|
152
|
+
handler.email = (function (message, env, ctx) { return __awaiter(_this, void 0, void 0, function () {
|
|
153
|
+
var config, error_4;
|
|
154
|
+
return __generator(this, function (_a) {
|
|
155
|
+
switch (_a.label) {
|
|
156
|
+
case 0:
|
|
157
|
+
config = getConfig(env);
|
|
158
|
+
if (config.apiKey && (js_1.default.config.apiKey === undefined || js_1.default.config.apiKey.length === 0)) {
|
|
159
|
+
js_1.default.configure(config);
|
|
160
|
+
}
|
|
161
|
+
_a.label = 1;
|
|
162
|
+
case 1:
|
|
163
|
+
_a.trys.push([1, 3, , 4]);
|
|
164
|
+
return [4 /*yield*/, emailHandler_1(message, env, ctx)];
|
|
165
|
+
case 2:
|
|
166
|
+
_a.sent();
|
|
167
|
+
return [3 /*break*/, 4];
|
|
168
|
+
case 3:
|
|
169
|
+
error_4 = _a.sent();
|
|
170
|
+
ctx.waitUntil(reportError(error_4));
|
|
171
|
+
throw error_4;
|
|
172
|
+
case 4: return [2 /*return*/];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}); });
|
|
176
|
+
return "continue";
|
|
177
|
+
}
|
|
178
|
+
if (name_1 === 'tail') {
|
|
179
|
+
var tailHandler_1 = fn;
|
|
180
|
+
handler.tail = (function (events, env, ctx) { return __awaiter(_this, void 0, void 0, function () {
|
|
181
|
+
var config, error_5;
|
|
182
|
+
return __generator(this, function (_a) {
|
|
183
|
+
switch (_a.label) {
|
|
184
|
+
case 0:
|
|
185
|
+
config = getConfig(env);
|
|
186
|
+
if (config.apiKey && (js_1.default.config.apiKey === undefined || js_1.default.config.apiKey.length === 0)) {
|
|
187
|
+
js_1.default.configure(config);
|
|
188
|
+
}
|
|
189
|
+
_a.label = 1;
|
|
190
|
+
case 1:
|
|
191
|
+
_a.trys.push([1, 3, , 4]);
|
|
192
|
+
return [4 /*yield*/, tailHandler_1(events, env, ctx)];
|
|
193
|
+
case 2:
|
|
194
|
+
_a.sent();
|
|
195
|
+
return [3 /*break*/, 4];
|
|
196
|
+
case 3:
|
|
197
|
+
error_5 = _a.sent();
|
|
198
|
+
ctx.waitUntil(reportError(error_5));
|
|
199
|
+
throw error_5;
|
|
200
|
+
case 4: return [2 /*return*/];
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
}); });
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
for (var _i = 0, HANDLER_NAMES_1 = HANDLER_NAMES; _i < HANDLER_NAMES_1.length; _i++) {
|
|
207
|
+
var name_1 = HANDLER_NAMES_1[_i];
|
|
208
|
+
_loop_1(name_1);
|
|
209
|
+
}
|
|
210
|
+
return handler;
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@honeybadger-io/cloudflare",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Cloudflare Workers integration for Honeybadger",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"cloudflare",
|
|
7
|
+
"honeybadger"
|
|
8
|
+
],
|
|
9
|
+
"files": [
|
|
10
|
+
"./dist"
|
|
11
|
+
],
|
|
12
|
+
"author": "Pangratios Cosma <pangratios.cosma@honeybadger.io>",
|
|
13
|
+
"homepage": "https://github.com/honeybadger-io/honeybadger-js#readme",
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"module": "dist/index.js",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
18
|
+
"type": "module",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/honeybadger-io/honeybadger-js.git"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"test": "jest --config jest.config.cjs",
|
|
25
|
+
"build": "tsc",
|
|
26
|
+
"clean": "rm -rf dist",
|
|
27
|
+
"build:clean": "npm run clean && npm run build"
|
|
28
|
+
},
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/honeybadger-io/honeybadger-js/issues"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@cloudflare/workers-types": "^4.20240208.0",
|
|
34
|
+
"@honeybadger-io/core": "^6.7.2",
|
|
35
|
+
"@honeybadger-io/js": "^6.12.3"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/jest": "^29.5.12",
|
|
39
|
+
"jest": "^29.7.0",
|
|
40
|
+
"ts-jest": "^29.1.2",
|
|
41
|
+
"typescript": "^5.3.3"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"gitHead": "85f0fb17a3083737182ad3b00a51e47c3dc5d82f"
|
|
47
|
+
}
|