@effect/platform 0.31.0 → 0.31.1

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.xForwardedHeaders = exports.withLoggerDisabled = exports.make = exports.loggerDisabled = exports.logger = void 0;
6
+ exports.xForwardedHeaders = exports.withTracerDisabledWhen = exports.withLoggerDisabled = exports.make = exports.loggerDisabled = exports.logger = exports.currentTracerDisabledWhen = void 0;
7
7
  var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../internal/http/middleware.js"));
8
8
  function _getRequireWildcardCache(e) {
9
9
  if ("function" != typeof WeakMap) return null;
@@ -50,6 +50,16 @@ const loggerDisabled = exports.loggerDisabled = internal.loggerDisabled;
50
50
  * @category fiber refs
51
51
  */
52
52
  const withLoggerDisabled = exports.withLoggerDisabled = internal.withLoggerDisabled;
53
+ /**
54
+ * @since 1.0.0
55
+ * @category fiber refs
56
+ */
57
+ const currentTracerDisabledWhen = exports.currentTracerDisabledWhen = internal.currentTracerDisabledWhen;
58
+ /**
59
+ * @since 1.0.0
60
+ * @category fiber refs
61
+ */
62
+ const withTracerDisabledWhen = exports.withTracerDisabledWhen = internal.withTracerDisabledWhen;
53
63
  /**
54
64
  * @since 1.0.0
55
65
  * @category constructors
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","exports","logger","loggerDisabled","withLoggerDisabled","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAKA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAA0D,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAuB1D;;;;AAIO,MAAMY,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAA+CxB,QAAQ,CAACwB,IAAI;AAE7E;;;;AAIO,MAAME,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAA4D1B,QAAQ,CAAC0B,MAAM;AAE9F;;;;AAIO,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAA+B3B,QAAQ,CAAC2B,cAAc;AAEjF;;;;AAIO,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAC7B5B,QAAQ,CAAC4B,kBAAkB;AAE7B;;;;AAIO,MAAMC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,GAA4D7B,QAAQ,CAAC6B,iBAAiB"}
1
+ {"version":3,"file":"Middleware.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","exports","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAMA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAA0D,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAwB1D;;;;AAIO,MAAMY,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAA+CxB,QAAQ,CAACwB,IAAI;AAE7E;;;;AAIO,MAAME,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAA4D1B,QAAQ,CAAC0B,MAAM;AAE9F;;;;AAIO,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAA+B3B,QAAQ,CAAC2B,cAAc;AAEjF;;;;AAIO,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAC7B5B,QAAQ,CAAC4B,kBAAkB;AAE7B;;;;AAIO,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GACpC7B,QAAQ,CAAC6B,yBAAyB;AAEpC;;;;AAIO,MAAMC,sBAAsB,GAAAL,OAAA,CAAAK,sBAAA,GAQ/B9B,QAAQ,CAAC8B,sBAAsB;AAEnC;;;;AAIO,MAAMC,iBAAiB,GAAAN,OAAA,CAAAM,iBAAA,GAA4D/B,QAAQ,CAAC+B,iBAAiB"}
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.xForwardedHeaders = exports.withLoggerDisabled = exports.tracer = exports.make = exports.loggerDisabled = exports.logger = void 0;
6
+ exports.xForwardedHeaders = exports.withTracerDisabledWhen = exports.withLoggerDisabled = exports.tracer = exports.make = exports.loggerDisabled = exports.logger = exports.currentTracerDisabledWhen = void 0;
7
7
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
8
  var FiberRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/FiberRef"));
9
+ var Function = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Function"));
9
10
  var _GlobalValue = /*#__PURE__*/require("effect/GlobalValue");
10
11
  var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../../Http/Headers.js"));
11
12
  var IncomingMessage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../../Http/IncomingMessage.js"));
@@ -44,6 +45,10 @@ const loggerDisabled = exports.loggerDisabled = /*#__PURE__*/(0, _GlobalValue.gl
44
45
  const withLoggerDisabled = self => Effect.zipRight(FiberRef.set(loggerDisabled, true), self);
45
46
  /** @internal */
46
47
  exports.withLoggerDisabled = withLoggerDisabled;
48
+ const currentTracerDisabledWhen = exports.currentTracerDisabledWhen = /*#__PURE__*/(0, _GlobalValue.globalValue)( /*#__PURE__*/Symbol.for("@effect/platform/Http/Middleware/tracerDisabledWhen"), () => FiberRef.unsafeMake(Function.constFalse));
49
+ /** @internal */
50
+ const withTracerDisabledWhen = exports.withTracerDisabledWhen = /*#__PURE__*/Function.dual(2, (self, pred) => Effect.locally(self, currentTracerDisabledWhen, pred));
51
+ /** @internal */
47
52
  const logger = exports.logger = /*#__PURE__*/make(httpApp => {
48
53
  let counter = 0;
49
54
  return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.withLogSpan(Effect.onExit(httpApp, exit => Effect.flatMap(FiberRef.get(loggerDisabled), disabled => {
@@ -64,7 +69,7 @@ const logger = exports.logger = /*#__PURE__*/make(httpApp => {
64
69
  /** @internal */
65
70
  const tracer = exports.tracer = /*#__PURE__*/make(httpApp => {
66
71
  const appWithStatus = Effect.tap(httpApp, response => Effect.annotateCurrentSpan("http.status", response.status));
67
- return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => Effect.withSpan(appWithStatus, `http ${request.method}`, {
72
+ return Effect.flatMap(Effect.zip(ServerRequest.ServerRequest, FiberRef.get(currentTracerDisabledWhen)), ([request, disabledWhen]) => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => disabledWhen(request) ? httpApp : Effect.withSpan(appWithStatus, `http ${request.method}`, {
68
73
  attributes: {
69
74
  "http.method": request.method,
70
75
  "http.url": request.url
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["Effect","_interopRequireWildcard","require","FiberRef","_GlobalValue","Headers","IncomingMessage","ServerRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","middleware","exports","loggerDisabled","globalValue","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,YAAA,gBAAAF,OAAA;AACA,IAAAG,OAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,eAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAEA,IAAAK,aAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAA4D,SAAAM,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAE5D;AACO,MAAMY,IAAI,GAAqCC,UAAa,IAAQA,UAAU;AAErF;AAAAC,OAAA,CAAAF,IAAA,GAAAA,IAAA;AACO,MAAMG,cAAc,GAAAD,OAAA,CAAAC,cAAA,gBAAG,IAAA5B,YAAA,CAAA6B,WAAW,gBACvCC,MAAM,CAACC,GAAG,CAAC,iDAAiD,CAAC,EAC7D,MAAMhC,QAAQ,CAACiC,UAAU,CAAC,KAAK,CAAC,CACjC;AAED;AACO,MAAMC,kBAAkB,GAAaC,IAA4B,IACtEtC,MAAM,CAACuC,QAAQ,CACbpC,QAAQ,CAACyB,GAAG,CAACI,cAAc,EAAE,IAAI,CAAC,EAClCM,IAAI,CACL;AAEH;AAAAP,OAAA,CAAAM,kBAAA,GAAAA,kBAAA;AACO,MAAMG,MAAM,GAAAT,OAAA,CAAAS,MAAA,gBAAGX,IAAI,CAAEY,OAAO,IAAI;EACrC,IAAIC,OAAO,GAAG,CAAC;EACf,OAAO1C,MAAM,CAAC2C,OAAO,CACnBpC,aAAa,CAACA,aAAa,EAC1BqC,OAAO,IACN5C,MAAM,CAAC6C,WAAW,CAChB7C,MAAM,CAAC8C,MAAM,CAACL,OAAO,EAAGM,IAAI,IAC1B/C,MAAM,CAAC2C,OAAO,CACZxC,QAAQ,CAACa,GAAG,CAACgB,cAAc,CAAC,EAC3BgB,QAAQ,IAAI;IACX,IAAIA,QAAQ,EAAE;MACZ,OAAOhD,MAAM,CAACiD,IAAI;IACpB;IACA,OAAOF,IAAI,CAACG,IAAI,KAAK,SAAS,GAC5BlD,MAAM,CAACmD,YAAY,CAACnD,MAAM,CAACoD,GAAG,CAACL,IAAI,CAACM,KAAK,CAAC,EAAE;MAC1C,aAAa,EAAET,OAAO,CAACU,MAAM;MAC7B,UAAU,EAAEV,OAAO,CAACW,GAAG;MACvB,aAAa,EAAE;KAChB,CAAC,GACFvD,MAAM,CAACmD,YAAY,CAACnD,MAAM,CAACoD,GAAG,CAAC,EAAE,CAAC,EAAE;MAClC,aAAa,EAAER,OAAO,CAACU,MAAM;MAC7B,UAAU,EAAEV,OAAO,CAACW,GAAG;MACvB,aAAa,EAAER,IAAI,CAACS,KAAK,CAACC;KAC3B,CAAC;EACN,CAAC,CACF,CAAC,EACJ,aAAa,EAAEf,OAAO,EAAE,CACzB,CACJ;AACH,CAAC,CAAC;AAEF;AACO,MAAMgB,MAAM,GAAA3B,OAAA,CAAA2B,MAAA,gBAAG7B,IAAI,CAAEY,OAAO,IAAI;EACrC,MAAMkB,aAAa,GAAG3D,MAAM,CAAC4D,GAAG,CAC9BnB,OAAO,EACNoB,QAAQ,IAAK7D,MAAM,CAAC8D,mBAAmB,CAAC,aAAa,EAAED,QAAQ,CAACJ,MAAM,CAAC,CACzE;EACD,OAAOzD,MAAM,CAAC2C,OAAO,CACnBpC,aAAa,CAACA,aAAa,EAC1BqC,OAAO,IACN5C,MAAM,CAAC2C,OAAO,CACZC,OAAO,CAACmB,OAAO,CAAC,cAAc,CAAC,IAAInB,OAAO,CAACmB,OAAO,CAAC,IAAI,CAAC,GACtD/D,MAAM,CAACgE,aAAa,CAAC1D,eAAe,CAAC2D,kBAAkB,CAACrB,OAAO,CAAC,EAAE,MAAMsB,SAAS,CAAC,GAClFlE,MAAM,CAACmE,OAAO,CAACD,SAAS,CAAC,EAC1BE,MAAM,IACLpE,MAAM,CAACqE,QAAQ,CACbV,aAAa,EACb,QAAQf,OAAO,CAACU,MAAM,EAAE,EACxB;IAAEgB,UAAU,EAAE;MAAE,aAAa,EAAE1B,OAAO,CAACU,MAAM;MAAE,UAAU,EAAEV,OAAO,CAACW;IAAG,CAAE;IAAEa;EAAM,CAAE,CACnF,CACJ,CACJ;AACH,CAAC,CAAC;AAEF;AACO,MAAMG,iBAAiB,GAAAxC,OAAA,CAAAwC,iBAAA,gBAAG1C,IAAI,CAAEY,OAAO,IAC5CzC,MAAM,CAACwE,aAAa,CAAC/B,OAAO,EAAElC,aAAa,CAACA,aAAa,EAAGqC,OAAO,IACjEA,OAAO,CAACmB,OAAO,CAAC,kBAAkB,CAAC,GAC/BnB,OAAO,CAAC6B,MAAM,CAAC;EACfV,OAAO,EAAE1D,OAAO,CAACuB,GAAG,CAClBgB,OAAO,CAACmB,OAAO,EACf,MAAM,EACNnB,OAAO,CAACmB,OAAO,CAAC,kBAAkB,CAAC,CACpC;EACDW,aAAa,EAAE9B,OAAO,CAACmB,OAAO,CAAC,iBAAiB,CAAC,EAAEY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACC,IAAI;CACtE,CAAC,GACAhC,OAAO,CAAC,CACf"}
1
+ {"version":3,"file":"middleware.js","names":["Effect","_interopRequireWildcard","require","FiberRef","Function","_GlobalValue","Headers","IncomingMessage","ServerRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","middleware","exports","loggerDisabled","globalValue","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","currentTracerDisabledWhen","constFalse","withTracerDisabledWhen","dual","pred","locally","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","zip","disabledWhen","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -3,7 +3,9 @@
3
3
  */
4
4
  import type * as Effect from "effect/Effect";
5
5
  import type * as FiberRef from "effect/FiberRef";
6
+ import type * as Predicate from "effect/Predicate";
6
7
  import type * as App from "./App.js";
8
+ import type * as ServerRequest from "./ServerRequest.js";
7
9
  /**
8
10
  * @since 1.0.0
9
11
  * @category models
@@ -42,6 +44,19 @@ export declare const loggerDisabled: FiberRef.FiberRef<boolean>;
42
44
  * @category fiber refs
43
45
  */
44
46
  export declare const withLoggerDisabled: <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
47
+ /**
48
+ * @since 1.0.0
49
+ * @category fiber refs
50
+ */
51
+ export declare const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<ServerRequest.ServerRequest>>;
52
+ /**
53
+ * @since 1.0.0
54
+ * @category fiber refs
55
+ */
56
+ export declare const withTracerDisabledWhen: {
57
+ (predicate: Predicate.Predicate<ServerRequest.ServerRequest>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
58
+ <R, E, A>(effect: Effect.Effect<R, E, A>, predicate: Predicate.Predicate<ServerRequest.ServerRequest>): Effect.Effect<R, E, A>;
59
+ };
45
60
  /**
46
61
  * @since 1.0.0
47
62
  * @category constructors
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../src/Http/Middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAEpC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACvD;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;OAEG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5D,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;KAC7B;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,KAAK,CAAiB,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAA2B,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACpE,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../src/Http/Middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACvD;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;OAEG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5D,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;KAC7B;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,KAAK,CAAiB,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAA2B,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACpE,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CACtE,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE;IACnC,CACE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAC1D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACQ,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA"}
@@ -19,6 +19,16 @@ export const loggerDisabled = internal.loggerDisabled;
19
19
  * @category fiber refs
20
20
  */
21
21
  export const withLoggerDisabled = internal.withLoggerDisabled;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category fiber refs
25
+ */
26
+ export const currentTracerDisabledWhen = internal.currentTracerDisabledWhen;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category fiber refs
30
+ */
31
+ export const withTracerDisabledWhen = internal.withTracerDisabledWhen;
22
32
  /**
23
33
  * @since 1.0.0
24
34
  * @category constructors
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,gCAAgC;AAuB1D;;;;AAIA,OAAO,MAAMC,IAAI,GAA+CD,QAAQ,CAACC,IAAI;AAE7E;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DL,QAAQ,CAACK,iBAAiB"}
1
+ {"version":3,"file":"Middleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,QAAQ,MAAM,gCAAgC;AAwB1D;;;;AAIA,OAAO,MAAMC,IAAI,GAA+CD,QAAQ,CAACC,IAAI;AAE7E;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,yBAAyB,GACpCL,QAAQ,CAACK,yBAAyB;AAEpC;;;;AAIA,OAAO,MAAMC,sBAAsB,GAQ/BN,QAAQ,CAACM,sBAAsB;AAEnC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DP,QAAQ,CAACO,iBAAiB"}
@@ -1,5 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as FiberRef from "effect/FiberRef";
3
+ import * as Function from "effect/Function";
3
4
  import { globalValue } from "effect/GlobalValue";
4
5
  import * as Headers from "../../Http/Headers.js";
5
6
  import * as IncomingMessage from "../../Http/IncomingMessage.js";
@@ -11,6 +12,10 @@ export const loggerDisabled = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for(
11
12
  /** @internal */
12
13
  export const withLoggerDisabled = self => Effect.zipRight(FiberRef.set(loggerDisabled, true), self);
13
14
  /** @internal */
15
+ export const currentTracerDisabledWhen = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("@effect/platform/Http/Middleware/tracerDisabledWhen"), () => FiberRef.unsafeMake(Function.constFalse));
16
+ /** @internal */
17
+ export const withTracerDisabledWhen = /*#__PURE__*/Function.dual(2, (self, pred) => Effect.locally(self, currentTracerDisabledWhen, pred));
18
+ /** @internal */
14
19
  export const logger = /*#__PURE__*/make(httpApp => {
15
20
  let counter = 0;
16
21
  return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.withLogSpan(Effect.onExit(httpApp, exit => Effect.flatMap(FiberRef.get(loggerDisabled), disabled => {
@@ -31,7 +36,7 @@ export const logger = /*#__PURE__*/make(httpApp => {
31
36
  /** @internal */
32
37
  export const tracer = /*#__PURE__*/make(httpApp => {
33
38
  const appWithStatus = Effect.tap(httpApp, response => Effect.annotateCurrentSpan("http.status", response.status));
34
- return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => Effect.withSpan(appWithStatus, `http ${request.method}`, {
39
+ return Effect.flatMap(Effect.zip(ServerRequest.ServerRequest, FiberRef.get(currentTracerDisabledWhen)), ([request, disabledWhen]) => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => disabledWhen(request) ? httpApp : Effect.withSpan(appWithStatus, `http ${request.method}`, {
35
40
  attributes: {
36
41
  "http.method": request.method,
37
42
  "http.url": request.url
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["Effect","FiberRef","globalValue","Headers","IncomingMessage","ServerRequest","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","get","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","names":["Effect","FiberRef","Function","globalValue","Headers","IncomingMessage","ServerRequest","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","currentTracerDisabledWhen","constFalse","withTracerDisabledWhen","dual","pred","locally","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","get","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","zip","disabledWhen","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.31.0",
3
+ "version": "0.31.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -3,8 +3,10 @@
3
3
  */
4
4
  import type * as Effect from "effect/Effect"
5
5
  import type * as FiberRef from "effect/FiberRef"
6
+ import type * as Predicate from "effect/Predicate"
6
7
  import * as internal from "../internal/http/middleware.js"
7
8
  import type * as App from "./App.js"
9
+ import type * as ServerRequest from "./ServerRequest.js"
8
10
 
9
11
  /**
10
12
  * @since 1.0.0
@@ -51,6 +53,27 @@ export const loggerDisabled: FiberRef.FiberRef<boolean> = internal.loggerDisable
51
53
  export const withLoggerDisabled: <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A> =
52
54
  internal.withLoggerDisabled
53
55
 
56
+ /**
57
+ * @since 1.0.0
58
+ * @category fiber refs
59
+ */
60
+ export const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<ServerRequest.ServerRequest>> =
61
+ internal.currentTracerDisabledWhen
62
+
63
+ /**
64
+ * @since 1.0.0
65
+ * @category fiber refs
66
+ */
67
+ export const withTracerDisabledWhen: {
68
+ (
69
+ predicate: Predicate.Predicate<ServerRequest.ServerRequest>
70
+ ): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
71
+ <R, E, A>(
72
+ effect: Effect.Effect<R, E, A>,
73
+ predicate: Predicate.Predicate<ServerRequest.ServerRequest>
74
+ ): Effect.Effect<R, E, A>
75
+ } = internal.withTracerDisabledWhen
76
+
54
77
  /**
55
78
  * @since 1.0.0
56
79
  * @category constructors
@@ -1,6 +1,8 @@
1
1
  import * as Effect from "effect/Effect"
2
2
  import * as FiberRef from "effect/FiberRef"
3
+ import * as Function from "effect/Function"
3
4
  import { globalValue } from "effect/GlobalValue"
5
+ import type * as Predicate from "effect/Predicate"
4
6
  import * as Headers from "../../Http/Headers.js"
5
7
  import * as IncomingMessage from "../../Http/IncomingMessage.js"
6
8
  import type * as Middleware from "../../Http/Middleware.js"
@@ -22,6 +24,23 @@ export const withLoggerDisabled = <R, E, A>(self: Effect.Effect<R, E, A>): Effec
22
24
  self
23
25
  )
24
26
 
27
+ /** @internal */
28
+ export const currentTracerDisabledWhen = globalValue(
29
+ Symbol.for("@effect/platform/Http/Middleware/tracerDisabledWhen"),
30
+ () => FiberRef.unsafeMake<Predicate.Predicate<ServerRequest.ServerRequest>>(Function.constFalse)
31
+ )
32
+
33
+ /** @internal */
34
+ export const withTracerDisabledWhen = Function.dual<
35
+ (
36
+ predicate: Predicate.Predicate<ServerRequest.ServerRequest>
37
+ ) => <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>,
38
+ <R, E, A>(
39
+ effect: Effect.Effect<R, E, A>,
40
+ predicate: Predicate.Predicate<ServerRequest.ServerRequest>
41
+ ) => Effect.Effect<R, E, A>
42
+ >(2, (self, pred) => Effect.locally(self, currentTracerDisabledWhen, pred))
43
+
25
44
  /** @internal */
26
45
  export const logger = make((httpApp) => {
27
46
  let counter = 0
@@ -61,18 +80,20 @@ export const tracer = make((httpApp) => {
61
80
  (response) => Effect.annotateCurrentSpan("http.status", response.status)
62
81
  )
63
82
  return Effect.flatMap(
64
- ServerRequest.ServerRequest,
65
- (request) =>
83
+ Effect.zip(ServerRequest.ServerRequest, FiberRef.get(currentTracerDisabledWhen)),
84
+ ([request, disabledWhen]) =>
66
85
  Effect.flatMap(
67
86
  request.headers["x-b3-traceid"] || request.headers["b3"] ?
68
87
  Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) :
69
88
  Effect.succeed(undefined),
70
89
  (parent) =>
71
- Effect.withSpan(
72
- appWithStatus,
73
- `http ${request.method}`,
74
- { attributes: { "http.method": request.method, "http.url": request.url }, parent }
75
- )
90
+ disabledWhen(request) ?
91
+ httpApp :
92
+ Effect.withSpan(
93
+ appWithStatus,
94
+ `http ${request.method}`,
95
+ { attributes: { "http.method": request.method, "http.url": request.url }, parent }
96
+ )
76
97
  )
77
98
  )
78
99
  })