Full-featured, plugin-driven, middleware-oriented toolkit to easily create rich, versatile and composable HTTP clients in Go. gentleman embraces extensibility and composition principles in order to provide a flexible way to easily create featured HTTP client layers based on built-in or third-party plugins that you can register and reuse across HTTP clients. As an example, you can easily provide retry policy capabilities or dynamic server discovery in your HTTP clients simply attaching the retry or consul plugins. Take a look to the examples, list of supported plugins, HTTP entities or middleware layer to get started. For testing purposes, see baloo, a utility library for expressive end-to-end HTTP API testing, built on top of gentleman toolkit. For HTTP mocking, see gentleman-mock, which uses gock under the hood for easy and expressive HTTP client request mocking.

Features

  • Plugin driven architecture
  • Simple, expressive, fluent API
  • Idiomatic built on top of net/http package
  • Context-aware hierarchical middleware layer supporting all the HTTP life cycle
  • Built-in multiplexer for easy composition capabilities
  • Easy to extend via plugins/middleware

Project Samples

Project Activity

See All Activity >

Categories

HTTP Clients

License

MIT License

Follow gentleman

gentleman Web Site

Other Useful Business Software
Full-stack observability with actually useful AI | Grafana Cloud Icon
Full-stack observability with actually useful AI | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of gentleman!

Additional Project Details

Programming Language

Go

Related Categories

Go HTTP Clients

Registered

2023-05-16