@jaypie/express 1.2.26 → 1.2.28

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 (53) hide show
  1. package/dist/cjs/index.cjs +22 -6
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +1 -1
  4. package/dist/cjs/{constants.d.ts → src/constants.d.ts} +1 -1
  5. package/dist/esm/index.d.ts +1 -1
  6. package/dist/esm/index.js +22 -6
  7. package/dist/esm/index.js.map +1 -1
  8. package/dist/esm/{constants.d.ts → src/constants.d.ts} +1 -1
  9. package/dist/esm/src/index.d.ts +13 -0
  10. package/package.json +9 -3
  11. /package/dist/cjs/{adapter → src/adapter}/LambdaRequest.d.ts +0 -0
  12. /package/dist/cjs/{adapter → src/adapter}/LambdaResponseBuffered.d.ts +0 -0
  13. /package/dist/cjs/{adapter → src/adapter}/LambdaResponseStreaming.d.ts +0 -0
  14. /package/dist/cjs/{adapter → src/adapter}/__tests__/LambdaRequest.spec.d.ts +0 -0
  15. /package/dist/cjs/{adapter → src/adapter}/__tests__/LambdaResponseBuffered.spec.d.ts +0 -0
  16. /package/dist/cjs/{adapter → src/adapter}/__tests__/LambdaResponseStreaming.spec.d.ts +0 -0
  17. /package/dist/cjs/{adapter → src/adapter}/__tests__/debug-harness.d.ts +0 -0
  18. /package/dist/cjs/{adapter → src/adapter}/__tests__/integration.spec.d.ts +0 -0
  19. /package/dist/cjs/{adapter → src/adapter}/index.d.ts +0 -0
  20. /package/dist/cjs/{adapter → src/adapter}/types.d.ts +0 -0
  21. /package/dist/cjs/{cors.helper.d.ts → src/cors.helper.d.ts} +0 -0
  22. /package/dist/cjs/{decorateResponse.helper.d.ts → src/decorateResponse.helper.d.ts} +0 -0
  23. /package/dist/cjs/{echo.handler.d.ts → src/echo.handler.d.ts} +0 -0
  24. /package/dist/cjs/{expressHandler.d.ts → src/expressHandler.d.ts} +0 -0
  25. /package/dist/cjs/{expressStreamHandler.d.ts → src/expressStreamHandler.d.ts} +0 -0
  26. /package/dist/cjs/{fabricApiResponse.d.ts → src/fabricApiResponse.d.ts} +0 -0
  27. /package/dist/cjs/{getCurrentInvokeUuid.adapter.d.ts → src/getCurrentInvokeUuid.adapter.d.ts} +0 -0
  28. /package/dist/cjs/{http.handler.d.ts → src/http.handler.d.ts} +0 -0
  29. /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
  30. /package/dist/cjs/{routes.d.ts → src/routes.d.ts} +0 -0
  31. /package/dist/cjs/{summarizeRequest.helper.d.ts → src/summarizeRequest.helper.d.ts} +0 -0
  32. /package/dist/cjs/{summarizeResponse.helper.d.ts → src/summarizeResponse.helper.d.ts} +0 -0
  33. /package/dist/esm/{adapter → src/adapter}/LambdaRequest.d.ts +0 -0
  34. /package/dist/esm/{adapter → src/adapter}/LambdaResponseBuffered.d.ts +0 -0
  35. /package/dist/esm/{adapter → src/adapter}/LambdaResponseStreaming.d.ts +0 -0
  36. /package/dist/esm/{adapter → src/adapter}/__tests__/LambdaRequest.spec.d.ts +0 -0
  37. /package/dist/esm/{adapter → src/adapter}/__tests__/LambdaResponseBuffered.spec.d.ts +0 -0
  38. /package/dist/esm/{adapter → src/adapter}/__tests__/LambdaResponseStreaming.spec.d.ts +0 -0
  39. /package/dist/esm/{adapter → src/adapter}/__tests__/debug-harness.d.ts +0 -0
  40. /package/dist/esm/{adapter → src/adapter}/__tests__/integration.spec.d.ts +0 -0
  41. /package/dist/esm/{adapter → src/adapter}/index.d.ts +0 -0
  42. /package/dist/esm/{adapter → src/adapter}/types.d.ts +0 -0
  43. /package/dist/esm/{cors.helper.d.ts → src/cors.helper.d.ts} +0 -0
  44. /package/dist/esm/{decorateResponse.helper.d.ts → src/decorateResponse.helper.d.ts} +0 -0
  45. /package/dist/esm/{echo.handler.d.ts → src/echo.handler.d.ts} +0 -0
  46. /package/dist/esm/{expressHandler.d.ts → src/expressHandler.d.ts} +0 -0
  47. /package/dist/esm/{expressStreamHandler.d.ts → src/expressStreamHandler.d.ts} +0 -0
  48. /package/dist/esm/{fabricApiResponse.d.ts → src/fabricApiResponse.d.ts} +0 -0
  49. /package/dist/esm/{getCurrentInvokeUuid.adapter.d.ts → src/getCurrentInvokeUuid.adapter.d.ts} +0 -0
  50. /package/dist/esm/{http.handler.d.ts → src/http.handler.d.ts} +0 -0
  51. /package/dist/esm/{routes.d.ts → src/routes.d.ts} +0 -0
  52. /package/dist/esm/{summarizeRequest.helper.d.ts → src/summarizeRequest.helper.d.ts} +0 -0
  53. /package/dist/esm/{summarizeResponse.helper.d.ts → src/summarizeResponse.helper.d.ts} +0 -0
@@ -1075,9 +1075,11 @@ function createLambdaHandler(app, _options) {
1075
1075
  return result;
1076
1076
  }
1077
1077
  catch (error) {
1078
- // Log any unhandled errors
1078
+ // console, not log: must reach CloudWatch even if the logger itself is broken
1079
+ // eslint-disable-next-line no-console
1079
1080
  console.error("[createLambdaHandler] Unhandled error:", error);
1080
1081
  if (error instanceof Error) {
1082
+ // eslint-disable-next-line no-console
1081
1083
  console.error("[createLambdaHandler] Stack:", error.stack);
1082
1084
  }
1083
1085
  // Return a proper error response instead of throwing
@@ -1160,7 +1162,8 @@ function createLambdaStreamHandler(app, _options) {
1160
1162
  //
1161
1163
  const EXPRESS = {
1162
1164
  PATH: {
1163
- ANY: "*",
1165
+ // RegExp matches all paths in Express 4 and 5; "*" throws in 5, "/{*splat}" throws in 4
1166
+ ANY: /(.*)/,
1164
1167
  ID: "/:id",
1165
1168
  ROOT: /^\/?$/,
1166
1169
  },
@@ -1456,6 +1459,10 @@ function getCurrentInvokeUuid(req) {
1456
1459
  return getJaypieAdapterUuid();
1457
1460
  }
1458
1461
 
1462
+ //
1463
+ //
1464
+ // Helpers
1465
+ //
1459
1466
  /**
1460
1467
  * Safely set a header value on response.
1461
1468
  * Handles both Express Response and Lambda adapter responses.
@@ -2022,6 +2029,7 @@ function expressHandler(handlerOrOptions, optionsOrHandler) {
2022
2029
  const errorStack = error instanceof Error
2023
2030
  ? error.stack
2024
2031
  : new Error("Stack trace").stack?.replace("Error: Stack trace", `Error: ${errorMessage}`);
2032
+ // eslint-disable-next-line no-console -- raw stack must reach CloudWatch even if the logger is broken
2025
2033
  console.error("Express response error stack trace:", errorStack);
2026
2034
  log.fatal(`Express encountered an error while sending the response: ${errorMessage}`);
2027
2035
  log.var({ responseError: error });
@@ -2059,14 +2067,18 @@ function expressHandler(handlerOrOptions, optionsOrHandler) {
2059
2067
  const contentLengthHeader = headers["content-length"];
2060
2068
  const contentLength = contentLengthHeader ? Number(contentLengthHeader) : 0;
2061
2069
  // Add request data to session report
2062
- logger$1.report({
2070
+ const reportData = {
2063
2071
  method: req.method,
2064
2072
  path,
2065
2073
  query,
2066
2074
  contentType,
2067
2075
  contentLength,
2068
2076
  status: String(res.statusCode),
2069
- });
2077
+ };
2078
+ if (req.params && Object.keys(req.params).length > 0) {
2079
+ reportData.parameters = { ...req.params };
2080
+ }
2081
+ logger$1.report(reportData);
2070
2082
  // Submit metric if Datadog is configured
2071
2083
  if (datadog.hasDatadogEnv()) {
2072
2084
  let metricPrefix = "project";
@@ -2347,11 +2359,15 @@ function expressStreamHandler(handlerOrOptions, optionsOrHandler) {
2347
2359
  }
2348
2360
  path = path.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi, ":id");
2349
2361
  // Add request data to session report
2350
- logger.report({
2362
+ const reportData = {
2351
2363
  method: req.method,
2352
2364
  path,
2353
2365
  status: String(res.statusCode),
2354
- });
2366
+ };
2367
+ if (req.params && Object.keys(req.params).length > 0) {
2368
+ reportData.parameters = { ...req.params };
2369
+ }
2370
+ logger.report(reportData);
2355
2371
  // Submit metric if Datadog is configured
2356
2372
  if (datadog.hasDatadogEnv()) {
2357
2373
  let metricPrefix = "project";