Elton的实现参考了koa以及echo,统一中间件的形式,方便定制各类中间件,所有中间件的处理方式都非常简单,如果需要转给下一中间件,则调用Context.Next(),如果当前中间件出错,则返回Error结束调用,如果无需要转至下一中间件,则无需要调用Context.Next()。对于成功返回只需将响应数据赋值Context.Body = 响应数据,由响应中间件将Body转换为相应的响应数据,如JSON等。
Elton的实现参考了koa以及echo,中间件的调用为洋葱模型:请求由外至内,响应由内至外。
主要特性如下:
处理函数(中间件)均以返回error的形式响应出错,方便使用统一的出错处理中间件将出错统一转换为对应的输出(JSON),并根据出错的类型等生成各类统计分析
成功响应数据直接赋值至Context.Body(interface{}),由统一的响应中间件将其转换为对应的输出(JSON,XML)
支持不同种类的事件,如OnBefore、OnDone、OnError等,方便添加各类统计行为
|