request-id.js 529 B

123456789101112131415161718192021
  1. // src/middleware/request-id/request-id.ts
  2. var requestId = ({
  3. limitLength = 255,
  4. headerName = "X-Request-Id",
  5. generator = () => crypto.randomUUID()
  6. } = {}) => {
  7. return async function requestId2(c, next) {
  8. let reqId = headerName ? c.req.header(headerName) : void 0;
  9. if (!reqId || reqId.length > limitLength || /[^\w\-=]/.test(reqId)) {
  10. reqId = generator(c);
  11. }
  12. c.set("requestId", reqId);
  13. if (headerName) {
  14. c.header(headerName, reqId);
  15. }
  16. await next();
  17. };
  18. };
  19. export {
  20. requestId
  21. };