{"id":17436098,"url":"https://github.com/borislavv/go-httpserver","last_synced_at":"2026-01-26T08:33:38.590Z","repository":{"id":257806540,"uuid":"865404742","full_name":"Borislavv/go-httpserver","owner":"Borislavv","description":"HTTP SERVER: Wrapper over fasthttp","archived":false,"fork":false,"pushed_at":"2024-11-27T15:08:13.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-07T03:08:52.278Z","etag":null,"topics":["fasthttp","golang","library","wrapper"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Borislavv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-30T13:31:19.000Z","updated_at":"2024-11-27T15:08:07.000Z","dependencies_parsed_at":"2024-10-02T07:41:19.631Z","dependency_job_id":"c062ea78-9d75-4d5b-b412-79fdc9a4277d","html_url":"https://github.com/Borislavv/go-httpserver","commit_stats":null,"previous_names":["borislavv/go-httpserver"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borislavv%2Fgo-httpserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borislavv%2Fgo-httpserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borislavv%2Fgo-httpserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borislavv%2Fgo-httpserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Borislavv","download_url":"https://codeload.github.com/Borislavv/go-httpserver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228552378,"owners_count":17935803,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fasthttp","golang","library","wrapper"],"created_at":"2024-10-17T10:02:15.556Z","updated_at":"2026-01-26T08:33:38.536Z","avatar_url":"https://github.com/Borislavv.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## HTTP SERVER: Wrapper over fasthttp.\n\nA handy wrapper for FastHTTP providing a clean API plus essential features out of the box: structured logging, flexible middleware support, request timeouts, Prometheus metrics, Kubernetes health probes, and reverse proxy capabilities. Perfect for building fast, production-ready Go services with minimal boilerplate. Use it to boost your FastHTTP projects with reliability and observability by default.\n\n### Usage: \n\n    ctx, cancel := context.WithCancel(ctx)\n    defer cancel()\n\n\tcfg, err := sharedconfig.Load()\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tlgr, lgrCancel, err := logger.NewLogrus(output)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n    defer lgrCancel()\n\n\tsharedserver.\n\t\tNewHTTP(\n\t\t\tctx,\n\t\t\tlgr,\n\t\t\tcfg,\n\t\t\t[]controller.HttpController{\n                        controller.NewK8SProbe(ctx, logger, liveness),\n                    },\n\t\t\t[]middleware.HttpMiddleware{\n                        /** exec 1st. */ middleware.NewInitCtxMiddleware(ctx, config),\n                        /** exec 2nd. */ middleware.NewApplicationJsonMiddleware(),\n                    },\n\t\t).\n            ListenAndServe()\n\n### ENV: \n\n    type Config struct {\n        // HttpServerName is a name of the shared server.\n        HttpServerName string `envconfig:\"HTTP_SERVER_NAME\" default:\"http_server\"`\n        // HttpServerPort is a port for shared server (endpoints like a /probe for k8s).\n        HttpServerPort string `envconfig:\"HTTP_SERVER_PORT\" default:\":8000\"`\n        // HttpServerShutDownTimeout is a duration value before the server will be closed forcefully.\n        HttpServerShutDownTimeout time.Duration `envconfig:\"HTTP_SERVER_SHUTDOWN_TIMEOUT\" default:\"5s\"`\n        // HttpServerRequestTimeout is a timeout value for close request forcefully.\n        HttpServerRequestTimeout time.Duration `envconfig:\"HTTP_SERVER_REQUEST_TIMEOUT\" default:\"1m\"`\n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborislavv%2Fgo-httpserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fborislavv%2Fgo-httpserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fborislavv%2Fgo-httpserver/lists"}