gin 源码解析
2022-08-03 09:21:38 0 举报
AI智能生成
登录查看完整内容
gin 源码解析, 关注我,后续有更多的源码解析
作者其他创作
大纲/内容
由环境变量`GIN_MODE` 来指定
1. debugPrintWARNINGDefault()
1. 初始化 RouterGroup
2. engine.pool.New = func() interface{} { return engine.allocateContext() }
2. engine := New()
1. 打印请求日志
2. 错误处理
1. r := gin.Default()
1. group.calculateAbsolutePath(relativePath)
2. handlers = group.combineHandlers(handlers)
2. r.GET(\"/ping\
1. engine.prepareTrustedCIDRs()
2. resolveAddress(addr)
3. r.Run(\":8080\")
1. engine.pool.Get().(*Context)
2. c.reset()
1. 遍历所有的 engine.trees 找到对应的 handleFunc
3. if value.params != nil { c.Params = *value.params } if value.handlers != nil { c.handlers = value.handlers c.fullPath = value.fullPath c.Next() c.writermem.WriteHeaderNow() return }
4. 没有匹配的路由, 错误处理 或者 重定向
3. engine.handleHTTPRequest(c)
4. engine.pool.Put(c)
gin 源码解析
0 条评论
回复 删除
下一页