miniflare 0.0.0-e4fe35cc5 → 0.0.0-e7ea6005c
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 +11 -0
- package/dist/src/index.d.ts +243 -78
- package/dist/src/index.js +164 -79
- package/dist/src/index.js.map +3 -3
- package/dist/src/workers/assets/assets-kv.worker.js +5 -1
- package/dist/src/workers/assets/assets-kv.worker.js.map +1 -1
- package/dist/src/workers/assets/assets.worker.js +76 -21
- package/dist/src/workers/assets/assets.worker.js.map +1 -1
- package/dist/src/workers/assets/router.worker.js +69 -4
- package/dist/src/workers/assets/router.worker.js.map +2 -2
- package/dist/src/workers/cache/cache.worker.js +6 -5
- package/dist/src/workers/cache/cache.worker.js.map +2 -2
- package/dist/src/workers/core/entry.worker.js +5 -2
- package/dist/src/workers/core/entry.worker.js.map +1 -1
- package/dist/src/workers/queues/broker.worker.js +4 -2
- package/dist/src/workers/queues/broker.worker.js.map +1 -1
- package/package.json +4 -4
|
@@ -8654,20 +8654,85 @@ function setupSentry(request, context, dsn, clientId, clientSecret) {
|
|
|
8654
8654
|
return sentry.setUser({ userAgent, colo }), sentry;
|
|
8655
8655
|
}
|
|
8656
8656
|
|
|
8657
|
+
// ../workers-shared/router-worker/src/analytics.ts
|
|
8658
|
+
var Analytics = class {
|
|
8659
|
+
data = {};
|
|
8660
|
+
setData(newData) {
|
|
8661
|
+
this.data = { ...this.data, ...newData };
|
|
8662
|
+
}
|
|
8663
|
+
getData(key) {
|
|
8664
|
+
return this.data[key];
|
|
8665
|
+
}
|
|
8666
|
+
write(env, readyAnalytics, hostname) {
|
|
8667
|
+
readyAnalytics && readyAnalytics.logEvent({
|
|
8668
|
+
version: 1,
|
|
8669
|
+
accountId: 0,
|
|
8670
|
+
// TODO: need to plumb through
|
|
8671
|
+
indexId: hostname,
|
|
8672
|
+
doubles: [
|
|
8673
|
+
this.data.requestTime ?? -1,
|
|
8674
|
+
// double1
|
|
8675
|
+
this.data.coloId ?? -1,
|
|
8676
|
+
// double2
|
|
8677
|
+
this.data.metalId ?? -1,
|
|
8678
|
+
// double3
|
|
8679
|
+
this.data.coloTier ?? -1
|
|
8680
|
+
// double4
|
|
8681
|
+
],
|
|
8682
|
+
blobs: [
|
|
8683
|
+
this.data.hostname?.substring(0, 256),
|
|
8684
|
+
// blob1 - trim to 256 bytes
|
|
8685
|
+
this.data.dispatchtype,
|
|
8686
|
+
// blob2
|
|
8687
|
+
this.data.error?.substring(0, 256),
|
|
8688
|
+
// blob3 - trim to 256 bytes
|
|
8689
|
+
this.data.version,
|
|
8690
|
+
// blob4
|
|
8691
|
+
this.data.coloRegion
|
|
8692
|
+
// blob5
|
|
8693
|
+
]
|
|
8694
|
+
});
|
|
8695
|
+
}
|
|
8696
|
+
};
|
|
8697
|
+
|
|
8698
|
+
// ../workers-shared/router-worker/src/performance.ts
|
|
8699
|
+
var PerformanceTimer = class {
|
|
8700
|
+
performanceTimer;
|
|
8701
|
+
constructor(performanceTimer) {
|
|
8702
|
+
this.performanceTimer = performanceTimer;
|
|
8703
|
+
}
|
|
8704
|
+
now() {
|
|
8705
|
+
return this.performanceTimer ? this.performanceTimer.timeOrigin + this.performanceTimer.now() : Date.now();
|
|
8706
|
+
}
|
|
8707
|
+
};
|
|
8708
|
+
|
|
8657
8709
|
// ../workers-shared/router-worker/src/index.ts
|
|
8658
8710
|
var src_default = {
|
|
8659
8711
|
async fetch(request, env, ctx) {
|
|
8660
|
-
let sentry,
|
|
8712
|
+
let sentry, analytics = new Analytics(), performance = new PerformanceTimer(env.UNSAFE_PERFORMANCE), startTimeMs = performance.now();
|
|
8661
8713
|
try {
|
|
8662
|
-
|
|
8714
|
+
sentry = setupSentry(
|
|
8663
8715
|
request,
|
|
8664
8716
|
ctx,
|
|
8665
8717
|
env.SENTRY_DSN,
|
|
8666
8718
|
env.SENTRY_ACCESS_CLIENT_ID,
|
|
8667
8719
|
env.SENTRY_ACCESS_CLIENT_SECRET
|
|
8668
|
-
)
|
|
8720
|
+
);
|
|
8721
|
+
let url = new URL(request.url);
|
|
8722
|
+
sentry && (sentry.setUser({ username: url.hostname }), sentry.setTag("colo", env.COLO_METADATA.coloId), sentry.setTag("metal", env.COLO_METADATA.metalId)), env.COLO_METADATA && env.VERSION_METADATA && analytics.setData({
|
|
8723
|
+
coloId: env.COLO_METADATA.coloId,
|
|
8724
|
+
metalId: env.COLO_METADATA.metalId,
|
|
8725
|
+
coloTier: env.COLO_METADATA.coloTier,
|
|
8726
|
+
coloRegion: env.COLO_METADATA.coloRegion,
|
|
8727
|
+
hostname: url.hostname,
|
|
8728
|
+
version: env.VERSION_METADATA.id
|
|
8729
|
+
});
|
|
8730
|
+
let maybeSecondRequest = request.clone();
|
|
8731
|
+
return env.CONFIG.has_user_worker ? await env.ASSET_WORKER.unstable_canFetch(request) ? (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), await env.ASSET_WORKER.fetch(maybeSecondRequest)) : (analytics.setData({ dispatchtype: "worker" /* WORKER */ }), env.USER_WORKER.fetch(maybeSecondRequest)) : (analytics.setData({ dispatchtype: "asset" /* ASSETS */ }), await env.ASSET_WORKER.fetch(request));
|
|
8669
8732
|
} catch (err) {
|
|
8670
|
-
throw sentry && sentry.captureException(err), err;
|
|
8733
|
+
throw err instanceof Error && analytics.setData({ error: err.message }), sentry && sentry.captureException(err), err;
|
|
8734
|
+
} finally {
|
|
8735
|
+
analytics.setData({ requestTime: performance.now() - startTimeMs }), analytics.write(env.ENVIRONMENT, env.ANALYTICS);
|
|
8671
8736
|
}
|
|
8672
8737
|
}
|
|
8673
8738
|
};
|