next
Version:
The React Framework
27 lines (26 loc) • 1.15 kB
JavaScript
import { eventErrorFeedback } from '../../../../telemetry/events/error-feedback';
import { middlewareResponse } from './middleware-response';
// Handles HTTP requests to /__nextjs_error_feedback endpoint for collecting user feedback on error messages
export function getNextErrorFeedbackMiddleware(telemetry) {
return async function(req, res, next) {
const { pathname, searchParams } = new URL("http://n" + req.url);
if (pathname !== '/__nextjs_error_feedback') {
return next();
}
try {
const errorCode = searchParams.get('errorCode');
const wasHelpful = searchParams.get('wasHelpful');
if (!errorCode || !wasHelpful) {
return middlewareResponse.badRequest(res);
}
await telemetry.record(eventErrorFeedback({
errorCode,
wasHelpful: wasHelpful === 'true'
}));
return middlewareResponse.noContent(res);
} catch (error) {
return middlewareResponse.internalServerError(res);
}
};
}
//# sourceMappingURL=get-next-error-feedback-middleware.js.map