UNPKG

@graphql-mesh/serve-runtime

Version:
31 lines (30 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRequestId = useRequestId; const utils_1 = require("@graphql-mesh/utils"); function useRequestId() { return { onRequest({ request, fetchAPI }) { const requestId = request.headers.get('x-request-id') || fetchAPI.crypto.randomUUID(); utils_1.requestIdByRequest.set(request, requestId); }, onFetch({ context, options, setOptions }) { const requestId = utils_1.requestIdByRequest.get(context?.request); if (requestId) { setOptions({ ...(options || {}), headers: { ...(options.headers || {}), 'x-request-id': requestId, }, }); } }, onResponse({ request, response }) { const requestId = utils_1.requestIdByRequest.get(request); if (requestId) { response.headers.set('x-request-id', requestId); } }, }; }