Resty is a simple HTTP, REST, and SSE client library for Go that provides a fluent interface for building and executing HTTP requests.
The library addresses the need for a straightforward, chainable API to make HTTP calls in Go. Rather than working directly with the standard library's verbose request construction, Resty wraps the underlying HTTP functionality to offer a more intuitive builder pattern. It handles common REST client concerns including retries with backoff strategies, circuit breaker patterns, digest authentication, middleware support, HTTP tracing, and server-sent events streaming. The tool also supports service discovery through SRV records and load balancing across multiple endpoints.
Resty suits developers who want to reduce boilerplate when making HTTP requests without adopting a heavier framework. It works well for microservices, API clients, and applications that need reliable HTTP communication with built-in resilience patterns. The library is particularly useful when you need features like automatic retries, request/response middleware chains, or curl command generation for debugging, all without leaving your Go code.
The project maintains active development with regular updates and demonstrates strong engineering discipline through comprehensive test coverage requirements for all contributions. Pull requests must include test cases achieving full patch coverage, reflecting a commitment to code quality. The maintainer actively engages with users through GitHub Discussions, welcoming feedback and real-world usage stories. The project follows semantic versioning and has modernized its distribution strategy, moving from legacy versioning services to Go's native module system and vanity URLs.