{"id":18238,"library":"configurapi-handler-http","title":"Configurapi HTTP Handler","description":"Configurapi request handlers for HTTP, version 1.4.2. Provides middleware and utilities to validate and process HTTP requests against Configurapi configuration schemas. Designed for Node.js HTTP servers (Express, Fastify, etc.). Enables seamless integration of configuration validation in HTTP request pipelines. Released as needed; no active update cadence. Differentiators: lightweight, focused solely on HTTP handling for Configurapi.","status":"active","version":"1.4.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install configurapi-handler-http","lang":"bash","label":"npm"},{"cmd":"yarn add configurapi-handler-http","lang":"bash","label":"yarn"},{"cmd":"pnpm add configurapi-handler-http","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core Configurapi library for schema definition and validation","package":"configurapi","optional":false}],"imports":[{"note":"ESM-only package; CommonJS require is not supported.","wrong":"const configurapiHttp = require('configurapi-handler-http')","symbol":"default","correct":"import configurapiHttp from 'configurapi-handler-http'"},{"note":"Named export; default export is the entire module object.","wrong":"import createHandler from 'configurapi-handler-http'","symbol":"createHandler","correct":"import { createHandler } from 'configurapi-handler-http'"},{"note":"ESM only; named export.","wrong":"const { validateRequest } = require('configurapi-handler-http')","symbol":"validateRequest","correct":"import { validateRequest } from 'configurapi-handler-http'"},{"note":"Named export for error class.","wrong":"import ConfigurapiHttpError from 'configurapi-handler-http'","symbol":"ConfigurapiHttpError","correct":"import { ConfigurapiHttpError } from 'configurapi-handler-http'"},{"note":"Named export for custom validator class.","wrong":null,"symbol":"RequestValidator","correct":"import { RequestValidator } from 'configurapi-handler-http'"}],"quickstart":{"code":"import { createHandler } from 'configurapi-handler-http';\nimport express from 'express';\n\nconst app = express();\napp.use(express.json());\n\nconst schema = {\n  type: 'object',\n  properties: {\n    name: { type: 'string' },\n    age: { type: 'number' }\n  },\n  required: ['name']\n};\n\nconst handler = createHandler(schema, (req, res) => {\n  res.json({ message: `Hello, ${req.validatedBody.name}!` });\n});\n\napp.post('/greet', handler);\napp.listen(3000);\nconsole.log('Server running on port 3000');","lang":"typescript","description":"Creates an Express handler that validates request body against a Configurapi schema and responds with a greeting."},"warnings":[{"fix":"Use ES module import or enable ESM in your project (type: 'module' in package.json).","message":"ESM-only: CommonJS require() will throw an error. Use import syntax.","severity":"breaking","affected_versions":">=1.0"},{"fix":"Ensure schema is created using configurapi's schema builder or is strictly compliant.","message":"Schema must be a valid Configurapi schema object; plain JSON Schema may not work if incompatibilities exist.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Wrap your handler logic in async/await or return a promise.","message":"`createHandler` second argument should be an async function to properly handle errors.","severity":"deprecated","affected_versions":">=1.0 <2.0"},{"fix":"Add body-parsing middleware before the Configurapi handler.","message":"Request body must be parsed before middleware (e.g., using express.json()).","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Upgrade to configurapi v2 and update schema definitions accordingly.","message":"Version 1.x uses Configurapi v2 API; incompatible with v1 schemas.","severity":"breaking","affected_versions":">=1.0 <1.4"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use import statement or set type: 'module' in package.json.","cause":"Using CommonJS require() to import an ES module package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module not supported."},{"fix":"Use import { createHandler } from 'configurapi-handler-http' (named import).","cause":"Incorrect import of default export instead of named export.","error":"TypeError: handler is not a function"},{"fix":"Ensure schema is constructed using configurapi's schema builder.","cause":"Provided schema does not conform to Configurapi schema specification.","error":"ConfigurapiSchemaError: Invalid schema at path '/'"},{"fix":"Add body-parsing middleware and use req.validatedBody instead of req.body.","cause":"Request body not parsed before handler, or validated body accessed incorrectly.","error":"Cannot read properties of undefined (reading 'name')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}