{"record":{"id":"dfe26c6cfd76517e","repo":"diegosouzapw/OmniRoute","slug":"errdata-error-http-res-status-dfe26c","errorCode":null,"errorMessage":"errData.error || `HTTP ${res.status}`","messagePattern":"errData\\.error \\|\\| `HTTP (.+?)`","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/app/(dashboard)/dashboard/providers/[id]/components/ProviderParamFilterSection.tsx","lineNumber":56,"sourceCode":"// ---------------------------------------------------------------------------\n// Fetch helpers — isolate the HTTP + response-shape concerns so the\n// component's handlers stay focused on state transitions + user feedback.\n// ---------------------------------------------------------------------------\n\nasync function fetchParamFilterConfig(providerId: string): Promise<ParamFilterConfig> {\n  const res = await fetch(`/api/providers/${providerId}/param-filters`);\n  const data = await res.json();\n  return {\n    block: Array.isArray(data.block) ? data.block : [],\n    allow: Array.isArray(data.allow) ? data.allow : [],\n    autoLearn: typeof data.autoLearn === \"boolean\" ? data.autoLearn : false,\n  };\n}\n\nasync function throwOnErrorResponse(res: Response): Promise<void> {\n  if (res.ok) return;\n  const errData = await res.json().catch(() => ({}));\n  throw new Error(errData.error || `HTTP ${res.status}`);\n}\n\nasync function putParamFilterConfig(providerId: string, body: ParamFilterConfig): Promise<void> {\n  const res = await fetch(`/api/providers/${providerId}/param-filters`, {\n    method: \"PUT\",\n    headers: { \"Content-Type\": \"application/json\" },\n    body: JSON.stringify(body),\n  });\n  await throwOnErrorResponse(res);\n}\n\nasync function deleteParamFilterConfig(providerId: string): Promise<void> {\n  const res = await fetch(`/api/providers/${providerId}/param-filters`, { method: \"DELETE\" });\n  await throwOnErrorResponse(res);\n}\n\nfunction errorMessage(err: unknown): string {\n  return err instanceof Error ? err.message : String(err);","sourceCodeStart":38,"sourceCodeEnd":74,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/app/(dashboard)/dashboard/providers/[id]/components/ProviderParamFilterSection.tsx#L38-L74","documentation":"Error \"errData.error || `HTTP ${res.status}`\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/app/(dashboard)/dashboard/providers/[id]/components/ProviderParamFilterSection.tsx:56 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}