A complete, dependency-free Go port of httpbin for testing HTTP clients and APIs.
go-httpbin is a Go port of the httpbin service, which provides a set of HTTP endpoints for testing and debugging HTTP clients and APIs. It allows developers to inspect request details, simulate various HTTP responses (like delays, redirects, or status codes), and validate client behavior without relying on external services. The project is built with zero dependencies outside Go's standard library, making it lightweight and reliable.
Developers and DevOps engineers who need to test HTTP clients, libraries, or API integrations, particularly in Go-based projects or containerized environments.
It offers a dependency-free, production-ready implementation of httpbin with extensive configuration options, security features, and multiple deployment methods (Docker, Kubernetes, binary), making it superior to simpler or less secure alternatives.
A reasonably complete and well-tested golang port of httpbin, with zero dependencies outside the go stdlib.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely with Go's standard library, ensuring maximum reliability and simplicity, as emphasized in the README and project description.
Includes configurable features like allowed redirect domain restrictions and header filtering, with detailed guidance for safe public deployment in the 'Production considerations' section.
Can be run as a standalone binary, Docker container, Kubernetes service, or embedded library, supported by examples for each method in the README.
Offers a wide range of endpoints for inspecting requests and simulating responses, replicating the functionality of the original httpbin for thorough client debugging.
Lacks a /brotli endpoint due to Go's standard library limitations, which limits compression testing capabilities compared to other httpbin versions.
Non-root Docker images add complexity for deployments on privileged ports or with HTTPS, requiring manual capability settings and file permissions, as noted in the README.
Requires custom wrapping for advanced metrics, logging, or tracing, as admitted in the 'Production considerations' section, increasing setup effort for some teams.