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
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
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