remix-utils
Version:
This package contains simple utility functions to use with [React Router](https://reactrouter.com/).
23 lines • 900 B
JavaScript
import { unstable_RouterContextProvider, unstable_createContext, } from "react-router";
export function unstable_createRequestIDMiddleware({ generator = defaultGenerator, header = "X-Request-ID", limitLength = 255, } = {}) {
let requestIdContext = unstable_createContext();
return [
function requestIDMiddleware({ request, context }, next) {
let requestId = request.headers.get(header);
if (!requestId ||
requestId.length > limitLength ||
/[^\w\-]/.test(requestId)) {
requestId = generator();
}
context.set(requestIdContext, requestId);
return next();
},
function getRequestID(context) {
return context.get(requestIdContext);
},
];
}
function defaultGenerator() {
return crypto.randomUUID();
}
//# sourceMappingURL=request-id.js.map