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

You Might Also Like
Achieve perfect load balancing with a flexible Open Source Load Balancer Icon
Achieve perfect load balancing with a flexible Open Source Load Balancer

Take advantage of Open Source Load Balancer to elevate your business security and IT infrastructure with a custom ADC Solution.

Boost application security and continuity with SKUDONET ADC, our Open Source Load Balancer, that maximizes IT infrastructure flexibility. Additionally, save up to $470 K per incident with AI and SKUDONET solutions, further enhancing your organization’s risk management and cost-efficiency strategies.
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