Elton简述
简单介绍elton的中间件实现逻辑及其关键点
Elton的实现主要参考了koa,最核心就是中间件的处理。在了解如何使用elton之前,首先要了解其中间件的处理过程,主要有以下关键点:
处理顺序:请求时从左往右,响应时从右往左(参考示例图)
中间件处理失败直接返回error,如数据解析出错、Session获取失败、权限校验不通过等
若当前中间件认为已处理完成当前请求,则无需调用Next函数,如果未处理完成需要转给下一中间件,则调用Next(需要注意此处与gin的处理不一样,gin的是默认会继续执行后续中间件,如果不需要执行,则调用Abort)
中间件的实现中,调用Next函数之前的代码属于请求逻辑处理(示例图的左往右的箭头部分),而Next函数之后的代码则属于响应逻辑处理(示例图右往右的箭头部分)
虚线箭头表示该中间件不调用Next函数时的逻辑。
中间件串联
如上代码所实现了两个中间件:日志记录与响应时长计算,代码的处理逻辑非常简单,仅需要考虑处理代码是在Next之前或之后。
Last updated