{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-evangelist/fiber/json-schema/fiber-configuration.json", "title": "Fiber App Configuration", "description": "JSON Schema for Fiber web framework application configuration (fiber.Config).", "type": "object", "properties": { "Prefork": { "type": "boolean", "default": false, "description": "Enable prefork mode to spawn multiple processes." }, "ServerHeader": { "type": "string", "description": "Value for the Server HTTP header." }, "StrictRouting": { "type": "boolean", "default": false, "description": "Treat /foo and /foo/ as different routes." }, "CaseSensitive": { "type": "boolean", "default": false, "description": "Enable case-sensitive routing." }, "Immutable": { "type": "boolean", "default": false, "description": "Return immutable context values." }, "UnescapePath": { "type": "boolean", "default": false, "description": "Unescape route path before matching." }, "ETag": { "type": "boolean", "default": false, "description": "Enable ETag header generation." }, "BodyLimit": { "type": "integer", "default": 4194304, "description": "Maximum request body size in bytes (default 4MB)." }, "Concurrency": { "type": "integer", "default": 262144, "description": "Maximum number of concurrent connections." }, "ReadTimeout": { "type": "string", "description": "Read timeout duration (e.g., 5s, 1m)." }, "WriteTimeout": { "type": "string", "description": "Write timeout duration." }, "IdleTimeout": { "type": "string", "description": "Idle connection timeout duration." }, "ReadBufferSize": { "type": "integer", "default": 4096, "description": "Per-connection read buffer size in bytes." }, "WriteBufferSize": { "type": "integer", "default": 4096, "description": "Per-connection write buffer size in bytes." }, "CompressedFileSuffix": { "type": "string", "default": ".fiber.gz", "description": "Suffix for compressed static files." }, "ProxyHeader": { "type": "string", "description": "Header to use for proxy IP (e.g., X-Forwarded-For)." }, "GETOnly": { "type": "boolean", "default": false, "description": "Reject all non-GET requests." }, "DisableKeepalive": { "type": "boolean", "default": false, "description": "Disable keep-alive connections." }, "DisableDefaultDate": { "type": "boolean", "default": false, "description": "Disable default Date header." }, "DisableDefaultContentType": { "type": "boolean", "default": false, "description": "Disable default Content-Type header." }, "DisableHeaderNormalizing": { "type": "boolean", "default": false, "description": "Disable automatic header name normalization." }, "DisableStartupMessage": { "type": "boolean", "default": false, "description": "Disable startup banner message." }, "AppName": { "type": "string", "description": "Application name." }, "StreamRequestBody": { "type": "boolean", "default": false, "description": "Enable streaming request body handling." }, "EnableTrustedProxyCheck": { "type": "boolean", "default": false, "description": "Enable trusted proxy checking." }, "TrustedProxies": { "type": "array", "items": { "type": "string" }, "description": "List of trusted proxy IP addresses/ranges." }, "Network": { "type": "string", "enum": ["tcp", "tcp4", "tcp6"], "default": "tcp4", "description": "Network type for the listener." }, "EnablePrintRoutes": { "type": "boolean", "default": false, "description": "Print all registered routes on startup." } } }