A Go HTTP client library inspired by axios and Python requests, offering a simple API with no third-party dependencies.
Request is a Go HTTP client library that provides a simple and intuitive interface for making HTTP requests. It is inspired by JavaScript's axios and Python's requests libraries, allowing developers to easily send requests, handle various data formats, and manage authentication without external dependencies. It solves the problem of verbose and repetitive HTTP client code in Go by offering a clean, chainable API.
Go developers who need a straightforward, dependency-free HTTP client for building RESTful API integrations, web scrapers, or microservices. It's especially useful for those familiar with axios or Python requests who want a similar experience in Go.
Developers choose Request for its familiar API inspired by popular libraries, its zero-dependency design that keeps projects lightweight, and its comprehensive feature set including support for all HTTP methods, multiple data formats, and advanced controls like timeouts and TLS configuration.
go request, go http client
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Inspired by JavaScript's axios and Python's requests, it offers a clean, chainable interface that simplifies building HTTP requests, as demonstrated in the step-by-step POST example with AddHeader and AddBasicAuth methods.
Relies solely on Go's standard library, making it lightweight and easy to manage without external dependency conflicts, which is emphasized in the README as a key feature.
Supports sending JSON, URL-encoded forms, and multipart forms with files, handling various data types seamlessly, as shown in examples with JSON and MultipartForm fields.
Includes essential features like Basic Auth, timeouts, custom TLS configurations, and context integration for cancellation, providing practical controls for common HTTP scenarios.
Only supports Basic Auth and custom headers, lacking built-in mechanisms for OAuth, JWT, or other common authentication methods, which may require manual implementation and additional code.
Missing features like automatic retries, circuit breakers, or rate limiting, crucial for production-grade HTTP clients, forcing developers to add these themselves.
The README provides basic examples but lacks in-depth guides or tutorials for edge cases, relying on GoDoc for API details, which might hinder troubleshooting complex scenarios.