Go语言的Http 中间件实现
当你正在构建一个Web应用程序有可能要运行许多(甚至全部)的HTTP请求一些共享功能,你可能想记录每一个request,gzip压缩的每个response,或者做一些繁重的处理或者缓存检查。 实现这个共享功能的一种方法是将其设置为中间件,他可以作为一个独立的程序,在正常的handlers处理之前。根本不需要重写代码:如果你想用一个中间件,就把它加上应用中;如果你改变主意了,去掉就好了。就这么简单。 ServeMux=>MiddlewareHandler=>ApplicationHandler 这篇文章,我会给大家介绍怎么自己去实现一个自定义的middleware模式。以及通过使用第三方的中间件软件包的一些具体的实例。 基本原则: 在Go语言中实现和使用middleware是非常简单的。 使我们的中间件能搞满足 http.handlers 这个接口 建立一个 handlers 链,使其能够满足中间件的 handler 和 正常应用的 handler,并且能够注册到 http.ServeMux 我来解释如何实现: 首先你要知道go 的http handle,这里假设你是知道的 ...
