go语言negroni包介绍
前言
go语言很好地支持了网络编程,go 语言与web 框架相关的包有很多,本文主要介绍go语言的negroni包。
前置参考博客:HTTP 协议 与 golang web 应用服务
这篇文章中潘老师介绍了go web的基本使用。
下面我们来了解一下negroni包。
negroni包是什么
negroni包是go的一个第三方库,是为了方便使用 net/http 而设计的一个库,由于该包设计优雅,易于扩展,被广泛使用。
negroni官方地址:https://github.com/urfave/negroni
negroni官方中文文档:https://github.com/urfave/negroni/blob/master/translations/README_zh_CN.md
negroni包的使用见官方文档,官方文档的教程很详细,可读性也还可以。
negroni包源码分析
negroni包源码在github仓库中,可以从github上克隆下来或者通过go get命令获得。
negroni包的源码结构如下(使用tree命令获得):
.
├── CHANGELOG.md
├── LICENSE
├── README.md
├── doc.go
├── go.mod
├── logger.go
├── logger_test.go
├── negroni.go
├── negroni_bench_test.go
├── negroni_test.go
├── recovery.go
├── recovery_test.go
├── response_writer.go
├── response_writer_pusher.go
├── response_writer_pusher_test
├── response_writer_test.go
├── static.go
├── static_test.go
└── translations
├── README_de_de.md
├── README_fr_FR.md
├── README_ja_JP.md
├── README_ko_KR.md
├── README_pt_br.md
├── README_zh_CN.md
└── README_zh_tw.md
1 directory, 25 files
源码中真正起作用的只有logger.go、negroni.go、recovery.go、response_wr