Gentleman:优雅的Go语言HTTP客户端工具包

gentlemen介绍,特点等

插件驱动架构:Gentleman的核心特点是其插件系统,允许用户注册和重用各种自定义插件,如重试策略或动态服务器发现,以增强HTTP客户端的功能。

中间件层:项目内置了一个上下文感知的层次结构中间件,支持所有HTTP生命周期的不同阶段。这使得在请求过程中进行数据拦截和修改变得简单。

依赖于标准库:尽管提供了高级抽象,但Gentleman是基于Go的net/http标准库构建的,因此保持了良好的idiomatic特性,易于理解和使用。

除了Go的标准库,Gentleman没有额外的依赖项,确保轻量级和稳定的使用体验

是什么?

gentleman是一个功能齐全、插件驱动的 HTTP 客户端,gentleman以扩展性为原则,可以基于内置的或第三方插件创建具有丰富特性的、可复用的 HTTP 客户端。相比go的标准库net/http,gentleman更灵活、易用。

怎么使用?

gentleman的使用遵循下面的流程:

调用gentleman.New()创建一个 HTTP 客户端cli,此cli对象可复用;

调用cli.URL()设置要请求的 URL 基础地址;

调用cli.Request()创建一个请求对象req;

调用req.Path()设置请求的路径,基于前面设置的 URL;

调用req.Header()设置请求首部(Header),上面代码设置首部Client为gentleman;

调用req.Send()发送请求,获取响应对象res;

对响应对象res进行处理。


复制代码
                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/u013302168/article/details/123825839

插件如何使用?

调用客户端对象cli或请求对象req的Use()方法使用插件。

区别在于cli.Use()调用之后,所有通过该cli创建的请求对象都使用该插件;

req.Use()只对该请求生效,在本例中使用req.Use(body.JSON(data))也是可以的。

相关推荐
liu****5 分钟前
4.基础开发工具(一)
linux·开发语言·1024程序员节
文火冰糖的硅基工坊5 分钟前
[人工智能-大模型-72]:模型层技术 - 模型训练六大步:①数据预处理 - 基本功能与对应的基本组成函数
开发语言·人工智能·python
小龙报9 分钟前
《C语言疑难点 --- 字符函数和字符串函数专题(上)》
c语言·开发语言·c++·算法·学习方法·业界资讯·visual studio
凭君语未可14 分钟前
深度解析Java的多态特性
java·开发语言
csbysj202025 分钟前
DTD 元素:XML 与 SGML 文档结构解析指南
开发语言
傻童:CPU38 分钟前
C语言练习题
c语言·开发语言
极地星光1 小时前
协程:实战与系统集成(高级篇)
开发语言
0和1的舞者1 小时前
《Git:从入门到精通(八)——企业级git开发相关内容》
大数据·开发语言·git·搜索引擎·全文检索·软件工程·初学者
liulilittle1 小时前
LwIP协议栈MPA多进程架构
服务器·开发语言·网络·c++·架构·lwip·通信
水淹萌龙2 小时前
玩转 Go 表达式引擎:expr 实战指南
开发语言·后端·golang