Go Web 编程入门:中间件
前言
中间件通常位于前端的客户端站点请求和请求的后端资源之间。中间件非常有用,尤其是当我们希望在进行 API 调用之前进行一些验证,例如请求方法、标头和 JWT 等。
日志中间件
http.Handler
包装器是一个具有一个输入参数和一个输出参数的函数,两者都是 http.Handler
类型。
复制代码
现在,而不是直接服务和监听我们的 http 处理程序,例如:
复制代码
我们现在可以将它包装在我们的中间件中并变成:
复制代码
接下来将介绍如何创建一个 Go 语言的日志中间件。
中间件只需将 http.HandlerFunc
作为其参数之一,将其包装并返回一个新的 http.HandlerFunc
供服务器调用。
新建一个 main.go
文件:
复制代码
创建 mod 文件:
复制代码
打开另一个终端:
复制代码
运行上述代码:
复制代码
中间件框架
中间件本身只是将 a 作为其参数之一,将其包装并返回一个新的供服务器调用。在这里,我们定义了一种新类型,它最终使将多个中间件链接在一起变得更加容易。这个想法的灵感来自于 Mat Ryers 关于构建 API 的演讲。
这个片段详细解释了如何创建一个新的中间件。在下面的完整示例中,代码结构示例如下:
复制代码
完整测试
复制代码
运行代码:
复制代码
打开另外的终端:
复制代码
复制代码
参考链接:
版权声明: 本文为 InfoQ 作者【宇宙之一粟】的原创文章。
原文链接:【http://xie.infoq.cn/article/6020289c4bc164ebfafdb3ecb】。文章转载请联系作者。
评论