@effect-app/infra 1.45.1 → 1.46.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/CHANGELOG.md +11 -0
- package/_cjs/RequestContext.cjs +16 -38
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/api/internal/RequestContextMiddleware.cjs +9 -24
- package/_cjs/api/internal/RequestContextMiddleware.cjs.map +1 -1
- package/_cjs/api/internal/events.cjs +1 -1
- package/_cjs/api/internal/events.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +28 -39
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +3 -5
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +2 -2
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +1 -2
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +15 -12
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/services/QueueMaker/SQLQueue.cjs +3 -17
- package/_cjs/services/QueueMaker/SQLQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +3 -16
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +3 -16
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/service.cjs +1 -9
- package/_cjs/services/QueueMaker/service.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +4 -7
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/dist/RequestContext.d.ts +20 -63
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +16 -38
- package/dist/api/internal/RequestContextMiddleware.d.ts +1 -2
- package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
- package/dist/api/internal/RequestContextMiddleware.js +11 -30
- package/dist/api/internal/events.d.ts +1 -1
- package/dist/api/internal/events.d.ts.map +1 -1
- package/dist/api/internal/events.js +3 -3
- package/dist/api/setupRequest.d.ts +3 -7
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +28 -47
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +5 -7
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +4 -4
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +3 -4
- package/dist/logger/shared.d.ts +2 -2
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +13 -10
- package/dist/services/Operations.d.ts +3 -3
- package/dist/services/QueueMaker/SQLQueue.d.ts +3 -4
- package/dist/services/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/SQLQueue.js +5 -18
- package/dist/services/QueueMaker/memQueue.d.ts +2 -3
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +6 -16
- package/dist/services/QueueMaker/sbqueue.d.ts +2 -3
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +6 -16
- package/dist/services/QueueMaker/service.d.ts +2 -13
- package/dist/services/QueueMaker/service.d.ts.map +1 -1
- package/dist/services/QueueMaker/service.js +2 -10
- package/dist/services/RequestFiberSet.d.ts +1 -1
- package/dist/services/Store/Memory.d.ts +2 -6
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +4 -6
- package/package.json +5 -15
- package/src/RequestContext.ts +15 -46
- package/src/api/internal/RequestContextMiddleware.ts +10 -31
- package/src/api/internal/events.ts +2 -2
- package/src/api/setupRequest.ts +38 -72
- package/src/errorReporter.ts +4 -6
- package/src/logger/jsonLogger.ts +3 -3
- package/src/logger/logFmtLogger.ts +2 -3
- package/src/logger/shared.ts +15 -9
- package/src/services/QueueMaker/SQLQueue.ts +5 -19
- package/src/services/QueueMaker/memQueue.ts +5 -15
- package/src/services/QueueMaker/sbqueue.ts +5 -15
- package/src/services/QueueMaker/service.ts +2 -11
- package/src/services/Store/Memory.ts +3 -7
- package/_cjs/services/RequestContextContainer.cjs +0 -36
- package/_cjs/services/RequestContextContainer.cjs.map +0 -1
- package/dist/services/RequestContextContainer.d.ts +0 -42
- package/dist/services/RequestContextContainer.d.ts.map +0 -1
- package/dist/services/RequestContextContainer.js +0 -31
- package/src/services/RequestContextContainer.ts +0 -53
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 1.46.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b49cd25: refactor: remove RequestContextContainer
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [b49cd25]
|
|
12
|
+
- @effect-app/infra-adapters@1.21.0
|
|
13
|
+
|
|
3
14
|
## 1.45.1
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/_cjs/RequestContext.cjs
CHANGED
|
@@ -3,64 +3,42 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.spanAttributes = exports.
|
|
6
|
+
exports.spanAttributes = exports.RequestContext = exports.LocaleRef = exports.Locale = void 0;
|
|
7
7
|
var _schema = require("@effect-app/schema");
|
|
8
8
|
var _effectApp = require("effect-app");
|
|
9
9
|
var _ids = require("effect-app/ids");
|
|
10
10
|
const Locale = exports.Locale = _effectApp.S.Literal("en", "de");
|
|
11
|
-
|
|
12
|
-
class RequestContextParent extends (0, _schema.ExtendedTaggedClass)()("RequestContext", {
|
|
13
|
-
id: _ids.RequestId,
|
|
14
|
-
name: _schema.NonEmptyString255,
|
|
15
|
-
userProfile: _effectApp.S.optional(_effectApp.S.Struct({
|
|
16
|
-
sub: _ids.UserProfileId
|
|
17
|
-
})),
|
|
18
|
-
locale: Locale,
|
|
19
|
-
createdAt: _effectApp.S.Date.withDefault
|
|
20
|
-
}) {}
|
|
11
|
+
const LocaleRef = exports.LocaleRef = _effectApp.FiberRef.unsafeMake("en");
|
|
21
12
|
/**
|
|
22
13
|
* @tsplus type RequestContext
|
|
23
14
|
* @tsplus companion RequestContext.Ops
|
|
24
15
|
*/
|
|
25
|
-
exports.RequestContextParent = RequestContextParent;
|
|
26
16
|
class RequestContext extends (0, _schema.ExtendedTaggedClass)()("RequestContext", {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
span: _effectApp.S.Struct({
|
|
18
|
+
traceId: _effectApp.S.String,
|
|
19
|
+
spanId: _effectApp.S.String,
|
|
20
|
+
sampled: _effectApp.S.Boolean
|
|
21
|
+
}),
|
|
22
|
+
name: _schema.NonEmptyString255,
|
|
23
|
+
locale: Locale,
|
|
30
24
|
sourceId: _effectApp.S.optional(_schema.NonEmptyString255),
|
|
31
|
-
|
|
32
|
-
namespace:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//
|
|
37
|
-
// namespace: NonEmptyString255.optional()
|
|
38
|
-
// })
|
|
25
|
+
// TODO?
|
|
26
|
+
namespace: _schema.NonEmptyString255,
|
|
27
|
+
/** @deprecated */
|
|
28
|
+
userProfile: _effectApp.S.optional(_effectApp.S.Struct({
|
|
29
|
+
sub: _ids.UserProfileId
|
|
30
|
+
})) //
|
|
39
31
|
}) {
|
|
40
32
|
// static Tag = Context.Tag<RequestContext>()
|
|
41
|
-
static inherit(parent, newSelf) {
|
|
42
|
-
return new RequestContext({
|
|
43
|
-
namespace: parent?.namespace,
|
|
44
|
-
...newSelf,
|
|
45
|
-
rootId: parent.rootId,
|
|
46
|
-
parent
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
33
|
static toMonitoring(self) {
|
|
50
34
|
return {
|
|
51
35
|
operationName: self.name,
|
|
52
|
-
locale: self.locale
|
|
53
|
-
...(self.parent ? {
|
|
54
|
-
parentOperationName: self.parent.name,
|
|
55
|
-
parentLocale: self.parent.locale
|
|
56
|
-
} : {})
|
|
36
|
+
locale: self.locale
|
|
57
37
|
};
|
|
58
38
|
}
|
|
59
39
|
}
|
|
60
40
|
exports.RequestContext = RequestContext;
|
|
61
41
|
const spanAttributes = ctx => ({
|
|
62
|
-
"request.id": ctx.id,
|
|
63
|
-
"request.root.id": ctx.rootId,
|
|
64
42
|
"request.name": ctx.name,
|
|
65
43
|
"request.locale": ctx.locale,
|
|
66
44
|
"request.namespace": ctx.namespace,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.cjs","names":["_schema","require","_effectApp","_ids","Locale","exports","S","Literal","
|
|
1
|
+
{"version":3,"file":"RequestContext.cjs","names":["_schema","require","_effectApp","_ids","Locale","exports","S","Literal","LocaleRef","FiberRef","unsafeMake","RequestContext","ExtendedTaggedClass","span","Struct","traceId","String","spanId","sampled","Boolean","name","NonEmptyString255","locale","sourceId","optional","namespace","userProfile","sub","UserProfileId","toMonitoring","self","operationName","spanAttributes","ctx","roles","undefined"],"sources":["../src/RequestContext.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AAEO,MAAMG,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAGE,YAAC,CAACC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAGpC,MAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAGC,mBAAQ,CAACC,UAAU,CAAS,IAAI,CAAC;AAE1D;;;;AAIM,MAAOC,cAAe,SAAQ,IAAAC,2BAAmB,GAGpD,CAAC,gBAAgB,EAAE;EACpBC,IAAI,EAAEP,YAAC,CAACQ,MAAM,CAAC;IACbC,OAAO,EAAET,YAAC,CAACU,MAAM;IACjBC,MAAM,EAAEX,YAAC,CAACU,MAAM;IAChBE,OAAO,EAAEZ,YAAC,CAACa;GACZ,CAAC;EACFC,IAAI,EAAEC,yBAAiB;EACvBC,MAAM,EAAElB,MAAM;EACdmB,QAAQ,EAAEjB,YAAC,CAACkB,QAAQ,CAACH,yBAAiB,CAAC;EAAE;EACzCI,SAAS,EAAEJ,yBAAiB;EAC5B;EACAK,WAAW,EAAEpB,YAAC,CAACkB,QAAQ,CAAClB,YAAC,CAACQ,MAAM,CAAC;IAAEa,GAAG,EAAEC;EAAa,CAAE,CAAC,CAAC,CAAC;CAC3D,CAAC;EACA;EAEA,OAAOC,YAAYA,CAAaC,IAAoB;IAClD,OAAO;MACLC,aAAa,EAAED,IAAI,CAACV,IAAI;MACxBE,MAAM,EAAEQ,IAAI,CAACR;KACd;EACH;;AACDjB,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEM,MAAMqB,cAAc,GAAIC,GAAmB,KAAM;EACtD,cAAc,EAAEA,GAAG,CAACb,IAAI;EACxB,gBAAgB,EAAEa,GAAG,CAACX,MAAM;EAC5B,mBAAmB,EAAEW,GAAG,CAACR,SAAS;EAClC,IAAGQ,GAAG,CAACV,QAAQ,GAAG;IAAE,mBAAmB,EAAEU,GAAG,CAACV;EAAQ,CAAE,GAAG,EAAE;EAC5D,IAAIU,GAAG,CAACP,WAAW,EAAEC,GAAG,GACpB;IACA,kBAAkB,EAAEM,GAAG,CACpBP,WAAW,CACXC,GAAG;IACN,oBAAoB,EAAE,OAAO,IAAIM,GAAG,CAC/BP,WAAW,GACZO,GAAG,CAACP,WAAW,CAACQ,KAAK,GACrBC;GACL,GACC,EAAE;CACP,CAAC;AAQF;AACA;AACA;AACA;AAAA9B,OAAA,CAAA2B,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -9,47 +9,32 @@ var _http = require("effect-app/http");
|
|
|
9
9
|
var _ids = require("effect-app/ids");
|
|
10
10
|
var _schema = require("effect-app/schema");
|
|
11
11
|
var _RequestContext = require("../../RequestContext.cjs");
|
|
12
|
-
var _RequestContextContainer = require("../../services/RequestContextContainer.cjs");
|
|
13
12
|
var _setupRequest = require("../setupRequest.cjs");
|
|
14
13
|
const RequestContextMiddleware = (defaultLocale = "en") => _http.HttpMiddleware.make(app => _effectApp.Effect.gen(function* () {
|
|
15
14
|
const req = yield* _http.HttpServerRequest.HttpServerRequest;
|
|
16
|
-
const currentSpan = yield* _effectApp.Effect.currentSpan;
|
|
17
|
-
const parent = currentSpan?.parent ? currentSpan.parent.value : undefined;
|
|
18
|
-
const start = new Date();
|
|
15
|
+
const currentSpan = yield* _effectApp.Effect.currentSpan.pipe(_effectApp.Effect.orDie);
|
|
19
16
|
const supported = _RequestContext.Locale.literals;
|
|
20
17
|
const desiredLocale = req.headers["x-locale"];
|
|
21
18
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
|
|
22
19
|
const locale = desiredLocale && supported.includes(desiredLocale) ? desiredLocale : defaultLocale;
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const storeId = req.headers["x-store-id"];
|
|
26
|
-
const namespace = (0, _schema.NonEmptyString255)(storeId && (Array.isArray(storeId) ? storeId[0] : storeId) || "primary");
|
|
20
|
+
const ns = req.headers["x-store-id"];
|
|
21
|
+
const namespace = (0, _schema.NonEmptyString255)(ns && (Array.isArray(ns) ? ns[0] : ns) || "primary");
|
|
27
22
|
const deviceId = req.headers["x-fe-device-id"];
|
|
28
23
|
const requestContext = new _RequestContext.RequestContext({
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
span: {
|
|
25
|
+
traceId: (0, _ids.RequestId)(currentSpan.traceId),
|
|
26
|
+
spanId: (0, _ids.RequestId)(currentSpan.spanId),
|
|
27
|
+
sampled: currentSpan.sampled
|
|
28
|
+
},
|
|
31
29
|
name: (0, _schema.NonEmptyString255)(req.originalUrl),
|
|
32
30
|
// set more detailed elsewhere
|
|
33
31
|
locale,
|
|
34
|
-
createdAt: start,
|
|
35
32
|
namespace,
|
|
36
33
|
sourceId: deviceId ? (0, _schema.NonEmptyString255)(deviceId) : undefined
|
|
37
|
-
// ...(context.operation.parentId
|
|
38
|
-
// ? {
|
|
39
|
-
// parent: new RequestContextParent({
|
|
40
|
-
// id: RequestId(context.operation.parentId),
|
|
41
|
-
// locale,
|
|
42
|
-
// name: NonEmptyString255("API Request")
|
|
43
|
-
// })
|
|
44
|
-
// }
|
|
45
|
-
// : {})
|
|
46
34
|
});
|
|
47
|
-
const
|
|
48
|
-
yield* rcc.update(_ => requestContext);
|
|
49
|
-
const res = yield* (0, _setupRequest.setupExistingRequestContext)(app, requestContext);
|
|
35
|
+
const res = yield* (0, _setupRequest.setupRequestContext)(app, requestContext);
|
|
50
36
|
// TODO: how to set also on errors?
|
|
51
37
|
return _http.HttpServerResponse.setHeaders(res, {
|
|
52
|
-
"request-id": requestContext.rootId,
|
|
53
38
|
"Content-Language": requestContext.locale
|
|
54
39
|
});
|
|
55
40
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContextMiddleware.cjs","names":["_effectApp","require","_http","_ids","_schema","_RequestContext","
|
|
1
|
+
{"version":3,"file":"RequestContextMiddleware.cjs","names":["_effectApp","require","_http","_ids","_schema","_RequestContext","_setupRequest","RequestContextMiddleware","defaultLocale","HttpMiddleware","make","app","Effect","gen","req","HttpServerRequest","currentSpan","pipe","orDie","supported","Locale","literals","desiredLocale","headers","locale","includes","ns","namespace","NonEmptyString255","Array","isArray","deviceId","requestContext","RequestContext","span","traceId","RequestId","spanId","sampled","name","originalUrl","sourceId","undefined","res","setupRequestContext","HttpServerResponse","setHeaders","exports"],"sources":["../../../src/api/internal/RequestContextMiddleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAEO,MAAMM,wBAAwB,GAAGA,CAACC,aAAA,GAAwB,IAAI,KACnEC,oBAAc,CAACC,IAAI,CAAEC,GAAG,IACtBC,iBAAM,CAACC,GAAG,CAAC,aAAS;EAClB,MAAMC,GAAG,GAAG,OAAOC,uBAAiB,CAACA,iBAAiB;EAEtD,MAAMC,WAAW,GAAG,OAAOJ,iBAAM,CAACI,WAAW,CAACC,IAAI,CAACL,iBAAM,CAACM,KAAK,CAAC;EAChE,MAAMC,SAAS,GAAGC,sBAAM,CAACC,QAAQ;EACjC,MAAMC,aAAa,GAAGR,GAAG,CAACS,OAAO,CAAC,UAAU,CAAC;EAC7C;EACA,MAAMC,MAAM,GAAGF,aAAa,IAAIH,SAAS,CAACM,QAAQ,CAACH,aAAoB,CAAC,GACnEA,aAA0C,GAC3Cd,aAAa;EAEjB,MAAMkB,EAAE,GAAGZ,GAAG,CAACS,OAAO,CAAC,YAAY,CAAC;EACpC,MAAMI,SAAS,GAAG,IAAAC,yBAAiB,EAAEF,EAAE,KAAKG,KAAK,CAACC,OAAO,CAACJ,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,IAAK,SAAS,CAAC;EAC1F,MAAMK,QAAQ,GAAGjB,GAAG,CAACS,OAAO,CAAC,gBAAgB,CAAC;EAE9C,MAAMS,cAAc,GAAG,IAAIC,8BAAc,CAAC;IACxCC,IAAI,EAAE;MACJC,OAAO,EAAE,IAAAC,cAAS,EAACpB,WAAW,CAACmB,OAAO,CAAC;MACvCE,MAAM,EAAE,IAAAD,cAAS,EAACpB,WAAW,CAACqB,MAAM,CAAC;MACrCC,OAAO,EAAEtB,WAAW,CAACsB;KACtB;IACDC,IAAI,EAAE,IAAAX,yBAAiB,EAACd,GAAG,CAAC0B,WAAW,CAAC;IAAE;IAC1ChB,MAAM;IACNG,SAAS;IACTc,QAAQ,EAAEV,QAAQ,GAAG,IAAAH,yBAAiB,EAACG,QAAQ,CAAC,GAAGW;GACpD,CAAC;EACF,MAAMC,GAAG,GAAG,OAAO,IAAAC,iCAAmB,EAACjC,GAAG,EAAEqB,cAAc,CAAC;EAE3D;EACA,OAAOa,wBAAkB,CAACC,UAAU,CAACH,GAAG,EAAE;IACxC,kBAAkB,EAAEX,cAAc,CAACR;GACpC,CAAC;AACJ,CAAC,CAAC,CACH;AAAAuB,OAAA,CAAAxC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -29,6 +29,6 @@ const makeSSE = (events, schema) => _effectApp.Effect.gen(function* () {
|
|
|
29
29
|
})
|
|
30
30
|
});
|
|
31
31
|
return res;
|
|
32
|
-
}).pipe(_effectApp.Effect.tapErrorCause((0, _errorReporter.reportError)("Request")),
|
|
32
|
+
}).pipe(_effectApp.Effect.tapErrorCause((0, _errorReporter.reportError)("Request")), (0, _setupRequest.setupRequestContextFromCurrent)("events"));
|
|
33
33
|
exports.makeSSE = makeSSE;
|
|
34
34
|
//# sourceMappingURL=events.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.cjs","names":["_setupRequest","require","_errorReporter","_effectApp","_http","_logger","setRetry","Stream","succeed","keepAlive","schedule","Effect","Schedule","fixed","Duration","seconds","makeSSE","events","schema","gen","InfraLogger","logInfo","enc","TextEncoder","encode","S","eventStream","flatMap","_","evt","pipe","andThen","id","JSON","stringify","stream","merge","map","ctx","context","res","HttpServerResponse","tapErrorCause","reportError","provideContext","contentType","headers","HttpHeaders","fromInput","
|
|
1
|
+
{"version":3,"file":"events.cjs","names":["_setupRequest","require","_errorReporter","_effectApp","_http","_logger","setRetry","Stream","succeed","keepAlive","schedule","Effect","Schedule","fixed","Duration","seconds","makeSSE","events","schema","gen","InfraLogger","logInfo","enc","TextEncoder","encode","S","eventStream","flatMap","_","evt","pipe","andThen","id","JSON","stringify","stream","merge","map","ctx","context","res","HttpServerResponse","tapErrorCause","reportError","provideContext","contentType","headers","HttpHeaders","fromInput","setupRequestContextFromCurrent","exports"],"sources":["../../../src/api/internal/events.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,QAAQ,GAAGC,iBAAM,CAACC,OAAO,CAAC,cAAc,CAAC;AAC/C,MAAMC,SAAS,GAAGF,iBAAM,CAACG,QAAQ,CAACC,iBAAM,CAACH,OAAO,CAAC,aAAa,CAAC,EAAEI,mBAAQ,CAACC,KAAK,CAACC,mBAAQ,CAACC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/F,MAAMC,OAAO,GAAGA,CACrBC,MAA0D,EAC1DC,MAA2B,KAE3BP,iBAAM,CACHQ,GAAG,CAAC,aAAS;EACZ,OAAOC,mBAAW,CAACC,OAAO,CAAC,6BAA6B,CAAC;EAEzD,MAAMC,GAAG,GAAG,IAAIC,WAAW,EAAE;EAE7B,MAAMC,MAAM,GAAGC,YAAC,CAACD,MAAM,CAACN,MAAM,CAAC;EAE/B,MAAMQ,WAAW,GAAGnB,iBAAM,CAACoB,OAAO,CAChCV,MAAM,EACLW,CAAC,IACAJ,MAAM,CAACI,CAAC,CAACC,GAAG,CAAC,CACVC,IAAI,CAACnB,iBAAM,CAACoB,OAAO,CAAEF,GAAG,IAAK,OAAOD,CAAC,CAACC,GAAG,CAACG,EAAE,WAAWC,IAAI,CAACC,SAAS,CAACL,GAAG,CAAC,EAAE,CAAC,CAAC,CACpF;EAED,MAAMM,MAAM,GAAG,IAAAL,eAAI,EACjBxB,QAAQ,EACRC,iBAAM,CAAC6B,KAAK,CAAC3B,SAAS,CAAC,EACvBF,iBAAM,CAAC6B,KAAK,CAACV,WAAW,CAAC,EACzBnB,iBAAM,CAAC8B,GAAG,CAAET,CAAC,IAAKN,GAAG,CAACE,MAAM,CAACI,CAAC,GAAG,MAAM,CAAC,CAAC,CAC1C;EAED,MAAMU,GAAG,GAAG,OAAO3B,iBAAM,CAAC4B,OAAO,EAAU;EAC3C,MAAMC,GAAG,GAAGC,wBAAkB,CAACN,MAAM,CACnCA,MAAM,CACHL,IAAI,CACHvB,iBAAM,CAACmC,aAAa,CAAC,IAAAC,0BAAW,EAAC,SAAS,CAAC,CAAC,EAC5CpC,iBAAM,CAACqC,cAAc,CAACN,GAAG,CAAC,CAC3B,EACH;IACEO,WAAW,EAAE,mBAAmB;IAChCC,OAAO,EAAEC,iBAAW,CAACC,SAAS,CAAC;MAC7B,cAAc,EAAE,mBAAmB;MACnC,eAAe,EAAE,UAAU;MAC3B,mBAAmB,EAAE,IAAI;MACzB,YAAY,EAAE,YAAY,CAAC;KAC5B;GACF,CACF;EACD,OAAOR,GAAG;AACZ,CAAC,CAAC,CACDV,IAAI,CAACnB,iBAAM,CAAC+B,aAAa,CAAC,IAAAC,0BAAW,EAAC,SAAS,CAAC,CAAC,EAAE,IAAAM,4CAA8B,EAAC,QAAQ,CAAC,CAAC;AAAAC,OAAA,CAAAlC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
@@ -3,55 +3,44 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.getRequestContext = void 0;
|
|
7
7
|
exports.setupRequestContext = setupRequestContext;
|
|
8
|
-
exports.
|
|
8
|
+
exports.setupRequestContextFromCurrent = void 0;
|
|
9
9
|
var _schema = require("@effect-app/schema");
|
|
10
10
|
var _effectApp = require("effect-app");
|
|
11
|
-
var _ids = require("effect-app/ids");
|
|
12
11
|
var _RequestContext = require("../RequestContext.cjs");
|
|
13
|
-
var _RequestContextContainer = require("../services/RequestContextContainer.cjs");
|
|
14
12
|
var _ContextMapContainer = require("../services/Store/ContextMapContainer.cjs");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
13
|
+
var _Memory = require("../services/Store/Memory.cjs");
|
|
14
|
+
const getRequestContext = exports.getRequestContext = _effectApp.Effect.all({
|
|
15
|
+
span: _effectApp.Effect.currentSpan.pipe(_effectApp.Effect.orDie),
|
|
16
|
+
locale: _effectApp.FiberRef.get(_RequestContext.LocaleRef),
|
|
17
|
+
namespace: _effectApp.FiberRef.get(_Memory.storeId)
|
|
18
|
+
}).pipe(_effectApp.Effect.map(({
|
|
19
|
+
locale,
|
|
20
|
+
namespace,
|
|
21
|
+
span
|
|
22
|
+
}) => new _RequestContext.RequestContext({
|
|
23
|
+
span,
|
|
24
|
+
locale,
|
|
25
|
+
namespace,
|
|
26
|
+
// TODO: get through span context, or don't care at all.
|
|
27
|
+
name: (0, _schema.NonEmptyString255)("_root_")
|
|
28
|
+
})));
|
|
29
|
+
const withRequestSpan = (name = "request") => f => _effectApp.Effect.andThen(getRequestContext, ctx => f.pipe(_effectApp.Effect.withSpan(name, {
|
|
27
30
|
attributes: (0, _RequestContext.spanAttributes)(ctx),
|
|
28
31
|
captureStackTrace: false
|
|
29
32
|
}),
|
|
33
|
+
// TODO: false
|
|
30
34
|
// request context info is picked up directly in the logger for annotations.
|
|
31
|
-
_effectApp.Effect.withLogSpan(
|
|
32
|
-
const withExistingRequestSpan = f => _effectApp.Effect.andThen(_RequestContextContainer.RequestContextContainer.get, ctx => _effectApp.Effect.annotateCurrentSpan((0, _RequestContext.spanAttributes)(ctx)).pipe(_effectApp.Effect.andThen(f),
|
|
33
|
-
// request context info is picked up directly in the logger for annotations.
|
|
34
|
-
_effectApp.Effect.withLogSpan("request")));
|
|
35
|
+
_effectApp.Effect.withLogSpan(name)));
|
|
35
36
|
const setupContextMap = _effectApp.Effect.andThen(_ContextMapContainer.ContextMapContainer, _ => _.start).pipe(_effectApp.Layer.effectDiscard);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
// memoization problem
|
|
39
|
-
// const RequestContextLive = RequestContextContainer.get.toLayer(RequestContext.Tag)
|
|
40
|
-
const RequestContextStartLiveFromRequestContext = requestContext => _effectApp.Layer.provideMerge(setupContextMap,
|
|
41
|
-
// .provideMerge(RequestContextLiveFromRequestContext(requestContext))
|
|
42
|
-
_effectApp.Effect.andThen(_RequestContextContainer.RequestContextContainer, _ => _.start(requestContext)).pipe(_effectApp.Layer.effectDiscard));
|
|
43
|
-
const RequestContextStartLive = requestContext => typeof requestContext === "string" ? (0, _effectApp.pipe)(makeInternalRequestContext(requestContext), _effectApp.Effect.andThen(RequestContextStartLiveFromRequestContext), _effectApp.Layer.unwrapEffect) : RequestContextStartLiveFromRequestContext(requestContext);
|
|
37
|
+
const setupRequestContextFromCurrent = (name = "request") => self => self.pipe(withRequestSpan(name), _effectApp.Effect.provide(setupContextMap));
|
|
38
|
+
exports.setupRequestContextFromCurrent = setupRequestContextFromCurrent;
|
|
44
39
|
function setupRequestContext(self, requestContext) {
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
const UpdateRequestContextLive = f => _effectApp.Effect.andThen(_RequestContextContainer.RequestContextContainer, rcc => rcc.update(f)).pipe(_effectApp.Layer.effectDiscard);
|
|
51
|
-
/**
|
|
52
|
-
* @tsplus fluent effect/io/Effect updateRequestContext
|
|
53
|
-
*/
|
|
54
|
-
function updateRequestContext(self, f) {
|
|
55
|
-
return _effectApp.Effect.provide(self, UpdateRequestContextLive(f));
|
|
40
|
+
return _effectApp.Effect.gen(function* () {
|
|
41
|
+
yield* _effectApp.FiberRef.set(_RequestContext.LocaleRef, requestContext.locale);
|
|
42
|
+
yield* _effectApp.FiberRef.set(_Memory.storeId, requestContext.namespace);
|
|
43
|
+
return yield* self.pipe(withRequestSpan(requestContext.name), _effectApp.Effect.provide(setupContextMap));
|
|
44
|
+
});
|
|
56
45
|
}
|
|
57
46
|
//# sourceMappingURL=setupRequest.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupRequest.cjs","names":["_schema","require","_effectApp","
|
|
1
|
+
{"version":3,"file":"setupRequest.cjs","names":["_schema","require","_effectApp","_RequestContext","_ContextMapContainer","_Memory","getRequestContext","exports","Effect","all","span","currentSpan","pipe","orDie","locale","FiberRef","get","LocaleRef","namespace","storeId","map","RequestContext","name","NonEmptyString255","withRequestSpan","f","andThen","ctx","withSpan","attributes","spanAttributes","captureStackTrace","withLogSpan","setupContextMap","ContextMapContainer","_","start","Layer","effectDiscard","setupRequestContextFromCurrent","self","provide","setupRequestContext","requestContext","gen","set"],"sources":["../../src/api/setupRequest.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEO,MAAMK,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,iBAAM,CACpCC,GAAG,CAAC;EACHC,IAAI,EAAEF,iBAAM,CAACG,WAAW,CAACC,IAAI,CAACJ,iBAAM,CAACK,KAAK,CAAC;EAC3CC,MAAM,EAAEC,mBAAQ,CAACC,GAAG,CAACC,yBAAS,CAAC;EAC/BC,SAAS,EAAEH,mBAAQ,CAACC,GAAG,CAACG,eAAO;CAChC,CAAC,CACDP,IAAI,CACHJ,iBAAM,CAACY,GAAG,CAAC,CAAC;EAAEN,MAAM;EAAEI,SAAS;EAAER;AAAI,CAAE,KACrC,IAAIW,8BAAc,CAAC;EACjBX,IAAI;EACJI,MAAM;EACNI,SAAS;EACT;EACAI,IAAI,EAAE,IAAAC,yBAAiB,EAAC,QAAQ;CACjC,CAAC,CACH,CACF;AAEH,MAAMC,eAAe,GAAGA,CAACF,IAAI,GAAG,SAAS,KAAeG,CAAkB,IACxEjB,iBAAM,CAACkB,OAAO,CACZpB,iBAAiB,EAChBqB,GAAG,IACFF,CAAC,CAACb,IAAI,CACJJ,iBAAM,CAACoB,QAAQ,CAACN,IAAI,EAAE;EAAEO,UAAU,EAAE,IAAAC,8BAAc,EAACH,GAAG,CAAC;EAAEI,iBAAiB,EAAE;AAAK,CAAE,CAAC;AACpF;AACA;AACAvB,iBAAM,CAACwB,WAAW,CAACV,IAAI,CAAC,CACzB,CACJ;AAEH,MAAMW,eAAe,GAAGzB,iBAAM,CAACkB,OAAO,CAACQ,wCAAmB,EAAGC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,CAACxB,IAAI,CAACyB,gBAAK,CAACC,aAAa,CAAC;AAE9F,MAAMC,8BAA8B,GAAGA,CAACjB,IAAI,GAAG,SAAS,KAAekB,IAAqB,IACjGA,IAAI,CACD5B,IAAI,CACHY,eAAe,CAACF,IAAI,CAAC,EACrBd,iBAAM,CAACiC,OAAO,CAACR,eAAe,CAAC,CAChC;AAAA1B,OAAA,CAAAgC,8BAAA,GAAAA,8BAAA;AAEC,SAAUG,mBAAmBA,CAAUF,IAAqB,EAAEG,cAA8B;EAChG,OAAOnC,iBAAM,CAACoC,GAAG,CAAC,aAAS;IACzB,OAAO7B,mBAAQ,CAAC8B,GAAG,CAAC5B,yBAAS,EAAE0B,cAAc,CAAC7B,MAAM,CAAC;IACrD,OAAOC,mBAAQ,CAAC8B,GAAG,CAAC1B,eAAO,EAAEwB,cAAc,CAACzB,SAAS,CAAC;IAEtD,OAAO,OAAOsB,IAAI,CACf5B,IAAI,CACHY,eAAe,CAACmB,cAAc,CAACrB,IAAI,CAAC,EACpCd,iBAAM,CAACiC,OAAO,CAACR,eAAe,CAAC,CAChC;EACL,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/_cjs/errorReporter.cjs
CHANGED
|
@@ -10,9 +10,9 @@ exports.reportMessage = reportMessage;
|
|
|
10
10
|
var _utils = require("@effect-app/core/utils");
|
|
11
11
|
var Sentry = _interopRequireWildcard(require("@sentry/node"));
|
|
12
12
|
var _effectApp = require("effect-app");
|
|
13
|
+
var _setupRequest = require("./api/setupRequest.cjs");
|
|
13
14
|
var _errors = require("./errors.cjs");
|
|
14
15
|
var _logger = require("./logger.cjs");
|
|
15
|
-
var _RequestContextContainer = require("./services/RequestContextContainer.cjs");
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
function reportError(name) {
|
|
@@ -33,8 +33,7 @@ function reportError(name) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
function reportSentry(error, extras) {
|
|
36
|
-
return
|
|
37
|
-
const context = _effectApp.Option.getOrUndefined(ctx);
|
|
36
|
+
return _setupRequest.getRequestContext.pipe(_effectApp.Effect.map(context => {
|
|
38
37
|
const scope = new Sentry.Scope();
|
|
39
38
|
if (context) scope.setContext("context", context);
|
|
40
39
|
if (extras) scope.setContext("extras", extras);
|
|
@@ -63,8 +62,7 @@ function captureException(error) {
|
|
|
63
62
|
console.error(error);
|
|
64
63
|
}
|
|
65
64
|
function reportMessage(message, extras) {
|
|
66
|
-
return
|
|
67
|
-
const context = _effectApp.Option.getOrUndefined(ctx);
|
|
65
|
+
return _setupRequest.getRequestContext.pipe(_effectApp.Effect.map(context => {
|
|
68
66
|
const scope = new Sentry.Scope();
|
|
69
67
|
if (context) scope.setContext("context", context);
|
|
70
68
|
if (extras) scope.setContext("extras", extras);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorReporter.cjs","names":["_utils","require","Sentry","_interopRequireWildcard","_effectApp","
|
|
1
|
+
{"version":3,"file":"errorReporter.cjs","names":["_utils","require","Sentry","_interopRequireWildcard","_effectApp","_setupRequest","_errors","_logger","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","reportError","name","cause","extras","Effect","gen","Cause","isInterrupted","InfraLogger","logDebug","pipe","annotateLogs","JSON","stringify","error","CauseException","reportSentry","logError","dropUndefined","tryToJson","__error_name__","catchAllCause","ErrorReported","getRequestContext","map","context","scope","Scope","setContext","originalCause","captureException","logWarning","console","reportMessage","message","captureMessage","warn"],"sources":["../src/errorReporter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -17,13 +17,13 @@ const jsonLogger = exports.jsonLogger = _effectApp.Logger.make(({
|
|
|
17
17
|
}) => {
|
|
18
18
|
const now = new Date();
|
|
19
19
|
const nowMillis = now.getTime();
|
|
20
|
-
const
|
|
20
|
+
const request = (0, _shared.getRequestContext)(context);
|
|
21
21
|
const data = {
|
|
22
22
|
timestamp: now,
|
|
23
23
|
level: logLevel.label,
|
|
24
24
|
fiber: _effectApp.FiberId.threadName(fiberId),
|
|
25
25
|
message,
|
|
26
|
-
request
|
|
26
|
+
request,
|
|
27
27
|
cause: cause !== null && cause !== _effectApp.Cause.empty ? _effectApp.Cause.pretty(cause, {
|
|
28
28
|
renderErrorCause: true
|
|
29
29
|
}) : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonLogger.cjs","names":["_effectApp","require","_shared","jsonLogger","exports","Logger","make","annotations","cause","context","fiberId","logLevel","message","spans","now","Date","nowMillis","getTime","
|
|
1
|
+
{"version":3,"file":"jsonLogger.cjs","names":["_effectApp","require","_shared","jsonLogger","exports","Logger","make","annotations","cause","context","fiberId","logLevel","message","spans","now","Date","nowMillis","getTime","request","getRequestContext","data","timestamp","level","label","fiber","FiberId","threadName","Cause","empty","pretty","renderErrorCause","undefined","List","map","_","timing","startTime","pipe","toArray","HashMap","size","reduce","prev","k","v","globalThis","console","log","JSON","stringify","logJson","replace","defaultLogger","withSpanAnnotations"],"sources":["../../src/logger/jsonLogger.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,MAAME,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAGE,iBAAM,CAACC,IAAI,CACnC,CAAC;EAAEC,WAAW;EAAEC,KAAK;EAAEC,OAAO;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,OAAO;EAAEC;AAAK,CAAE,KAAI;EACrE,MAAMC,GAAG,GAAG,IAAIC,IAAI,EAAE;EACtB,MAAMC,SAAS,GAAGF,GAAG,CAACG,OAAO,EAAE;EAE/B,MAAMC,OAAO,GAAG,IAAAC,yBAAiB,EAACV,OAAO,CAAC;EAE1C,MAAMW,IAAI,GAAG;IACXC,SAAS,EAAEP,GAAG;IACdQ,KAAK,EAAEX,QAAQ,CAACY,KAAK;IACrBC,KAAK,EAAEC,kBAAO,CAACC,UAAU,CAAChB,OAAO,CAAC;IAClCE,OAAO;IACPM,OAAO;IACPV,KAAK,EAAEA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKmB,gBAAK,CAACC,KAAK,GAAGD,gBAAK,CAACE,MAAM,CAACrB,KAAK,EAAE;MAAEsB,gBAAgB,EAAE;IAAI,CAAE,CAAC,GAAGC,SAAS;IAC5GlB,KAAK,EAAEmB,eAAI,CAACC,GAAG,CAACpB,KAAK,EAAGqB,CAAC,KAAM;MAAEX,KAAK,EAAEW,CAAC,CAACX,KAAK;MAAEY,MAAM,EAAEnB,SAAS,GAAGkB,CAAC,CAACE;IAAS,CAAE,CAAC,CAAC,CAACC,IAAI,CAACL,eAAI,CAACM,OAAO,CAAC;IACvG/B,WAAW,EAAEgC,kBAAO,CAACC,IAAI,CAACjC,WAAW,CAAC,GAAG,CAAC,GACtC,CAAC,GAAGA,WAAW,CAAC,CAACkC,MAAM,CAAC,CAACC,IAAI,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAI;MACzCF,IAAI,CAACC,CAAC,CAAC,GAAGC,CAAC;MACX,OAAOF,IAAI;IACb,CAAC,EAAE,EAA6B,CAAC,GAC/BX;GACL;EAEDc,UAAU,CAACC,OAAO,CAACC,GAAG,CAACC,IAAI,CAACC,SAAS,CAAC7B,IAAI,CAAC,CAAC;AAC9C,CAAC,CACF;AAEM,MAAM8B,OAAO,GAAA9C,OAAA,CAAA8C,OAAA,GAAG7C,iBAAM,CAAC8C,OAAO,CAAC9C,iBAAM,CAAC+C,aAAa,EAAE/C,iBAAM,CAACgD,mBAAmB,CAAClD,UAAU,CAAC,CAAC","ignoreList":[]}
|
|
@@ -11,8 +11,7 @@ const logfmtLogger = exports.logfmtLogger = _effectApp.Logger.make(_ => {
|
|
|
11
11
|
let {
|
|
12
12
|
annotations
|
|
13
13
|
} = _;
|
|
14
|
-
const
|
|
15
|
-
const requestContext = _effectApp.Option.getOrUndefined(c);
|
|
14
|
+
const requestContext = (0, _shared.getRequestContext)(_.context);
|
|
16
15
|
if (requestContext && requestContext.name !== "_root_") {
|
|
17
16
|
annotations = _effectApp.HashMap.make(...[...annotations, ...Object.entries((0, _RequestContext.spanAttributes)(requestContext))]);
|
|
18
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logFmtLogger.cjs","names":["_effectApp","require","_RequestContext","_shared","logfmtLogger","exports","Logger","make","_","annotations","
|
|
1
|
+
{"version":3,"file":"logFmtLogger.cjs","names":["_effectApp","require","_RequestContext","_shared","logfmtLogger","exports","Logger","make","_","annotations","requestContext","getRequestContext","context","name","HashMap","Object","entries","spanAttributes","formatted","log","globalThis","console","logFmt","replace","defaultLogger","withSpanAnnotations"],"sources":["../../src/logger/logFmtLogger.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEO,MAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAM,CAACC,IAAI,CACpCC,CAAC,IAAI;EACJ,IAAI;IAAEC;EAAW,CAAE,GAAGD,CAAC;EACvB,MAAME,cAAc,GAAG,IAAAC,yBAAiB,EAACH,CAAC,CAACI,OAAO,CAAC;EACnD,IAAIF,cAAc,IAAIA,cAAc,CAACG,IAAI,KAAK,QAAQ,EAAE;IACtDJ,WAAW,GAAGK,kBAAO,CAACP,IAAI,CAAC,GAAG,CAC5B,GAAGE,WAAW,EACd,GAAGM,MAAM,CAACC,OAAO,CAAC,IAAAC,8BAAc,EAACP,cAAc,CAAC,CAAC,CAClD,CAAC;EACJ;EACA,MAAMQ,SAAS,GAAGZ,iBAAM,CAACF,YAAY,CAACe,GAAG,CAAC;IAAE,GAAGX,CAAC;IAAEC;EAAW,CAAE,CAAC;EAChEW,UAAU,CAACC,OAAO,CAACF,GAAG,CAACD,SAAS,CAAC;AACnC,CAAC,CACF;AAEM,MAAMI,MAAM,GAAAjB,OAAA,CAAAiB,MAAA,GAAGhB,iBAAM,CAACiB,OAAO,CAACjB,iBAAM,CAACkB,aAAa,EAAElB,iBAAM,CAACmB,mBAAmB,CAACrB,YAAY,CAAC,CAAC","ignoreList":[]}
|
package/_cjs/logger/shared.cjs
CHANGED
|
@@ -4,24 +4,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getRequestContext = getRequestContext;
|
|
7
|
-
var
|
|
7
|
+
var _schema = require("@effect-app/schema");
|
|
8
8
|
var _effectApp = require("effect-app");
|
|
9
9
|
var FiberRefs = _interopRequireWildcard(require("effect/FiberRefs"));
|
|
10
|
-
var
|
|
10
|
+
var _RequestContext = require("../RequestContext.cjs");
|
|
11
|
+
var _Memory = require("../services/Store/Memory.cjs");
|
|
11
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
14
|
function getRequestContext(fiberRefs) {
|
|
14
15
|
const context = FiberRefs.getOrDefault(fiberRefs, _effectApp.FiberRef.currentContext);
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
const span = _effectApp.Context.getOption(context, _effectApp.Tracer.ParentSpan);
|
|
17
|
+
const locale = FiberRefs.getOrDefault(fiberRefs, _RequestContext.LocaleRef);
|
|
18
|
+
const namespace = FiberRefs.getOrDefault(fiberRefs, _Memory.storeId);
|
|
19
|
+
return new _RequestContext.RequestContext({
|
|
20
|
+
span: _effectApp.Option.getOrElse(span, () => ({
|
|
21
|
+
spanId: "bogus",
|
|
22
|
+
sampled: true,
|
|
23
|
+
traceId: "bogus"
|
|
24
|
+
})),
|
|
25
|
+
name: (0, _schema.NonEmptyString255)("_"),
|
|
26
|
+
locale,
|
|
27
|
+
namespace
|
|
24
28
|
});
|
|
25
|
-
return c;
|
|
26
29
|
}
|
|
27
30
|
//# sourceMappingURL=shared.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.cjs","names":["
|
|
1
|
+
{"version":3,"file":"shared.cjs","names":["_schema","require","_effectApp","FiberRefs","_interopRequireWildcard","_RequestContext","_Memory","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getRequestContext","fiberRefs","context","getOrDefault","FiberRef","currentContext","span","Context","getOption","Tracer","ParentSpan","locale","LocaleRef","namespace","storeId","RequestContext","Option","getOrElse","spanId","sampled","traceId","name","NonEmptyString255"],"sources":["../../src/logger/shared.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAqD,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE/C,SAAUW,iBAAiBA,CAACC,SAA8B;EAC9D,MAAMC,OAAO,GAAG1B,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEG,mBAAQ,CAACC,cAAc,CAAC;EAC1E,MAAMC,IAAI,GAAGC,kBAAO,CAACC,SAAS,CAACN,OAAO,EAAEO,iBAAM,CAACC,UAAU,CAAC;EAC1D,MAAMC,MAAM,GAAGnC,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEW,yBAAS,CAAC;EAC3D,MAAMC,SAAS,GAAGrC,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEa,eAAO,CAAC;EAC5D,OAAO,IAAIC,8BAAc,CAAC;IACxBT,IAAI,EAAEU,iBAAM,CAACC,SAAS,CACpBX,IAAI,EACJ,OAAO;MAAEY,MAAM,EAAE,OAAO;MAAEC,OAAO,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAO,CAAE,CAAC,CAC7D;IACDC,IAAI,EAAE,IAAAC,yBAAiB,EAAC,GAAG,CAAC;IAC5BX,MAAM;IACNE;GACD,CAAC;AACJ","ignoreList":[]}
|
|
@@ -7,16 +7,12 @@ exports.QueueId = void 0;
|
|
|
7
7
|
exports.makeSQLQueue = makeSQLQueue;
|
|
8
8
|
var _SQL = require("@effect-app/infra-adapters/SQL");
|
|
9
9
|
var _setupRequest = require("@effect-app/infra/api/setupRequest");
|
|
10
|
-
var _RequestContext = require("@effect-app/infra/RequestContext");
|
|
11
10
|
var _errors = require("@effect-app/infra/services/QueueMaker/errors");
|
|
12
11
|
var _service = require("@effect-app/infra/services/QueueMaker/service");
|
|
13
|
-
var _RequestContextContainer = require("@effect-app/infra/services/RequestContextContainer");
|
|
14
12
|
var _sql = require("@effect/sql");
|
|
15
13
|
var _crypto = require("crypto");
|
|
16
14
|
var _dateFns = require("date-fns");
|
|
17
15
|
var _effectApp = require("effect-app");
|
|
18
|
-
var _ids = require("effect-app/ids");
|
|
19
|
-
var _schema = require("effect-app/schema");
|
|
20
16
|
var _utils = require("effect-app/utils");
|
|
21
17
|
var _logger = require("../../logger.cjs");
|
|
22
18
|
const QueueId = exports.QueueId = _effectApp.S.Number.pipe(_effectApp.S.brand("QueueId"));
|
|
@@ -102,16 +98,10 @@ function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
102
98
|
finishedAt: _effectApp.Option.some(new Date())
|
|
103
99
|
})) // auto in lib , etag: randomUUID()
|
|
104
100
|
};
|
|
105
|
-
const rcc = yield* _RequestContextContainer.RequestContextContainer;
|
|
106
101
|
return {
|
|
107
102
|
publish: (...messages) => _effectApp.Effect.gen(function* () {
|
|
108
|
-
const requestContext = yield*
|
|
109
|
-
|
|
110
|
-
return yield* _effectApp.Effect.forEach(messages, m => q.offer(m, {
|
|
111
|
-
requestContext: new _RequestContext.RequestContext(requestContext),
|
|
112
|
-
// workaround Schema expecting exact class
|
|
113
|
-
span: _effectApp.Option.getOrUndefined(span)
|
|
114
|
-
}), {
|
|
103
|
+
const requestContext = yield* _setupRequest.getRequestContext;
|
|
104
|
+
return yield* _effectApp.Effect.forEach(messages, m => q.offer(m, requestContext), {
|
|
115
105
|
discard: true
|
|
116
106
|
});
|
|
117
107
|
}).pipe(_effectApp.Effect.withSpan("queue.publish: " + queueName, {
|
|
@@ -132,11 +122,7 @@ function makeSQLQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
132
122
|
let effect = _logger.InfraLogger.logInfo(`[${queueDrainName}] Processing incoming message`).pipe(_effectApp.Effect.annotateLogs({
|
|
133
123
|
body: (0, _utils.pretty)(body),
|
|
134
124
|
meta: (0, _utils.pretty)(meta)
|
|
135
|
-
}), _effectApp.Effect.zipRight(handleEvent(body)), silenceAndReportError, _ => (0, _setupRequest.setupRequestContext)(_,
|
|
136
|
-
id: (0, _ids.RequestId)(body.id),
|
|
137
|
-
locale: "en",
|
|
138
|
-
name: (0, _schema.NonEmptyString255)(`${queueDrainName}.${body._tag}`)
|
|
139
|
-
})), _effectApp.Effect.withSpan(`queue.drain: ${queueDrainName}.${body._tag}`, {
|
|
125
|
+
}), _effectApp.Effect.zipRight(handleEvent(body)), silenceAndReportError, _ => (0, _setupRequest.setupRequestContext)(_, meta), _effectApp.Effect.withSpan(`queue.drain: ${queueDrainName}.${body._tag}`, {
|
|
140
126
|
captureStackTrace: false,
|
|
141
127
|
kind: "consumer",
|
|
142
128
|
attributes: {
|