7.01 Middleware-AccessLog

PART1. 为什么要有AccessLog?
PART2. 实现
2.1 创建中间件的过程
2.2 定义中间件结构
2.3 获取要记录的字段值
2.3.1 基本实现
2.3.2 记录命中的路由
2.3.3 获取命中的路由
2.4 记录请求
2.4.1 对外暴露控制记录方式的接口
2.4.2 使用外部提供的函数记录日志
PART3. 传递中间件
3.1 方案1:实例化HTTPServer时传入中间件链
3.1.1 实现
3.1.2 使用
3.1.3 优缺点
3.2 方案2:将HTTPServer.middlewares字段设置为公有属性
3.2.1 实现
3.2.2 使用
3.2.3 优缺点
3.3 Option模式
3.3.1 创建HTTPServerOption结构体
3.3.2 实现修改web.HTTPServer实例的属性值的函数
3.3.3 调用函数修改web.HTTPServer实例的属性值

PART4. 测试并调试
4.1 以创建http.Request的方式编写测试用例
4.2 测试发现的问题
4.3 修Bug:命中的路由在日志中记录不正确
4.3.1 为node结构体添加用于承载全路径的字段
4.3.2 将全路由写入到节点中
4.3.3 匹配节点时从命中的节点中读取该字段并赋值给Context
4.3.4 重新执行测试用例
4.4 以启动服务器的方式编写测试用例

PART5. 潜在的问题
Last updated