UNPKG

next

Version:

The React Framework

28 lines (27 loc) 1.26 kB
import { ACTION_HEADER } from '../../client/components/app-router-headers'; export function getServerActionRequestMetadata(req) { let actionId; let contentType; if (req.headers instanceof Headers) { actionId = req.headers.get(ACTION_HEADER.toLowerCase()) ?? null; contentType = req.headers.get('content-type'); } else { actionId = req.headers[ACTION_HEADER.toLowerCase()] ?? null; contentType = req.headers['content-type'] ?? null; } const isURLEncodedAction = Boolean(req.method === 'POST' && contentType === 'application/x-www-form-urlencoded'); const isMultipartAction = Boolean(req.method === 'POST' && (contentType == null ? void 0 : contentType.startsWith('multipart/form-data'))); const isFetchAction = Boolean(actionId !== undefined && typeof actionId === 'string' && req.method === 'POST'); const isServerAction = Boolean(isFetchAction || isURLEncodedAction || isMultipartAction); return { actionId, isURLEncodedAction, isMultipartAction, isFetchAction, isServerAction }; } export function getIsServerAction(req) { return getServerActionRequestMetadata(req).isServerAction; } //# sourceMappingURL=server-action-request-meta.js.map