一个HTTP框架的中间件通常由以下几部分组成:
-
上下文(Context):保存HTTP请求的上下文信息,例如请求方法、请求路径、请求参数、请求头等信息,以及处理过程中生成的一些中间状态和结果,供后续的中间件和处理器使用。
-
处理器(Handler):最终处理HTTP请求的函数,也可以是一个组合的中间件函数链,根据上下文信息进行一系列的业务处理,并生成响应数据。
-
中间件函数(Middleware):一个或多个处理HTTP请求和响应的函数,被组合成一个函数链,处理HTTP请求前和响应后进行一些额外的操作,例如校验身份、请求参数校验、日志记录、统一错误处理等等。
-
中间件管理器(Middleware Manager):用于维护中间件函数链的顺序、组合方式、执行顺序等信息,提供中间件注册、注销、调用等功能。
-
错误处理函数(Error Handler):当中间件链中的某个函数出错时,统一处理HTTP请求的错误响应,防止错误信息暴露给客户端