{"id":34208126,"url":"https://github.com/tnychn/httpx","last_synced_at":"2026-03-12T17:32:30.102Z","repository":{"id":55135025,"uuid":"510283245","full_name":"tnychn/httpx","owner":"tnychn","description":"A simple and convenient net/http wrapper with an Echo-like interface.","archived":false,"fork":false,"pushed_at":"2022-09-12T21:55:55.000Z","size":19,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-19T00:22:54.605Z","etag":null,"topics":["backend","echo","golang","http","library","router","server","web","wrapper"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tnychn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-04T08:56:09.000Z","updated_at":"2024-01-01T22:11:03.000Z","dependencies_parsed_at":"2022-08-14T13:00:51.125Z","dependency_job_id":null,"html_url":"https://github.com/tnychn/httpx","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/tnychn/httpx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnychn%2Fhttpx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnychn%2Fhttpx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnychn%2Fhttpx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnychn%2Fhttpx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tnychn","download_url":"https://codeload.github.com/tnychn/httpx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnychn%2Fhttpx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30435196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["backend","echo","golang","http","library","router","server","web","wrapper"],"created_at":"2025-12-15T20:13:28.579Z","updated_at":"2026-03-12T17:32:30.088Z","avatar_url":"https://github.com/tnychn.png","language":"Go","readme":"# httpx\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/tnychn/httpx.svg)](https://pkg.go.dev/github.com/tnychn/httpx)\n[![Tag](https://img.shields.io/github/v/tag/tnychn/httpx)](https://github.com/tnychn/httpx/tags)\n[![License](https://img.shields.io/github/license/tnychn/httpx)](./LICENSE.txt)\n\n_A simple and convenient `net/http` wrapper with an [Echo](https://github.com/labstack/echo)-like interface._\n\n---\n\n**httpx** wraps `http.Request` into `httpx.Request` and\ndefines a `httpx.Responder` that implements `http.ResponseWriter`\nto provide handy functions to send variety of HTTP responses.\n\nThe library also provides an idiomatic way to handle errors inside\nHTTP handlers by defining a `httpx.HandlerFunc` (which implements `http.Handler`)\nthat has a better signature than `http.HandlerFunc`.\n\nAdditionally, `httpx.HandlerFunc` is essentially a drop-in replacement for `http.HandlerFunc`.\nMost of the methods of `httpx.Request` and `httpx.Responder` are extracted from\n[Echo](https://github.com/labstack/echo)'s [`Context`](https://github.com/labstack/echo/blob/c0c00e6241/context.go).\n\n\u003e This is *not* a web framework, but rather an unopinionated library that\n\u003e extends `net/http`, as it does not include a HTTP router nor any mechanism\n\u003e that handles middlewares and the database layer.\n\u003e\n\u003e In fact, you can leverage your favourite router e.g. `gorilla/mux` or `chi` to\n\u003e provide routing and middleware ability, and **httpx** works _well_ with them.\n\nIn short, consider this library a _lite_ version of Echo, but compatible with `net/http`,\nwithout any third party dependencies.\n\n## Why?\n\nI want to use my favourite router along with some convenient methods\nfrom Echo's `Context` at the same time, but without other bloat and dependencies.\n\n## Roadmap\n\n- [x] Request Data Binding\n- [ ] File Responder Methods\n- [ ] Real IP Extractor\n- [ ] Graceful Shutdown\n- [ ] Better TLS Support\n\n## Credits\n\nMost of the code is adapted and modified from\n[labstack/echo](https://github.com/labstack/echo)\n@[v5_alpha](https://github.com/labstack/echo/tree/v5_alpha),\na high performance, minimalist web framework.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftnychn%2Fhttpx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftnychn%2Fhttpx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftnychn%2Fhttpx/lists"}