diegosouzapw/OmniRoute · error
Invalid JSON body
Error message
Invalid JSON body
What it means
Error "Invalid JSON body" thrown in diegosouzapw/OmniRoute.
Source
Thrown at src/app/api/v1/search/route.ts:126
include_domains?: string[];
exclude_domains?: string[];
}): string[] | undefined {
if (!filters) return undefined;
const parts: string[] = [];
if (filters.include_domains?.length) parts.push(...filters.include_domains);
if (filters.exclude_domains?.length) parts.push(...filters.exclude_domains.map((d) => `-${d}`));
return parts.length > 0 ? parts : undefined;
}
/**
* POST /v1/search — execute a web search
*/
async function postHandler(request: Request, context: unknown) {
let rawBody: unknown;
try {
rawBody = await request.json();
} catch {
log.warn("SEARCH", "Invalid JSON body");
return errorResponse(HTTP_STATUS.BAD_REQUEST, "Invalid JSON body");
}
const validation = validateBody(v1SearchSchema, rawBody);
if (isValidationFailure(validation)) {
return errorResponse(HTTP_STATUS.BAD_REQUEST, formatValidationMessage(validation.error));
}
const body = validation.data;
if (body.provider === "x_search") body.provider = "x-search";
if (body.provider === "x-search") body.search_type = "x";
// Enforce API key policies — use "search" as model identifier for consistent policy config
const policy = await enforceApiKeyPolicy(request, "search");
if (policy.rejection) return policy.rejection;
const settings = await getSettings().catch(() => ({}) as any);
const blockedProviders = settings?.blockedProviders || [];
View on GitHub (pinned to a179ffed5b)
When it happens
Trigger: Thrown at src/app/api/v1/search/route.ts:126 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25).
Data as JSON: /api/errors/383a0e5a4b286bda.
Report an issue: GitHub.