用户工具

站点工具


light4j:handler
  • MiddlewareHandler
    • ExceptionHandler:首位,异常处理,并dispatch分派给worker线程处理exchange.isInIoThread
    • MetricsHandler:指标统计,定时发送耗时等信息到influx,exchange.addExchangeCompleteListener
    • TraceabilityHandler:处理X-Traceability-Id,audit会记录,client会传递,最后响应头传回
    • CorrelationHandler:添加X-Correlation-Id,MDC记录日志,用于ELK等日志聚合
    • CorsHttpHandler:跨域处理,Access-Control-Allow-Origin=*
    • OpenApiHandler:根据openapi.yml处理路径,记录audit_info的endpoint+openapi_operation
    • JwtVerifyHandler:根据openapi.yml处理Headers.AUTHORIZATION,记录client_id user_id等
    • BodyHandler:处理正文,content-type=application/json+x-www-form-urlencoded multipart/form-data
    • AuditHandler:审计日志,记录audit.yml指定信息,支持info error级别
    • DumpHandler:转储信息,根据dump.yml记录信息,支持多种日志级别(body之后)
    • SanitizerHandler:转码JavaScript,支持请求头、请求正文
    • ValidatorHandler:根据openapi.yml校验请求,校验失败时返回错误码
    • HeaderHandler:处理消息头,支持remove update操作
    • LimitHandler:请求限速,可配置并发数和队列数,超出时丢弃
    • DerefMiddlewareHandler:处理deref令牌,去内部/oauth2/deref/{deref}获取token
    • PrometheusHandler:指标统计,发送prometheus
    • JaegerHandler:指标统计,使用OpenTracing
    • RequestDecodeHandler:解码gzip请求
    • ResponseEncodeHandler:编码gzip响应
    • BasicAuthHandler:根据basic.yml验证请求,是oauth2的补充,用于IoT服务
    • ContentHandler:根据content.yml设置Content-Type,先取请求头,其次取默认值
    • WhitelistHandler:根据whitelist.yml设置白名单,默认允许
  • LightHttpHandler
    • HealthGetHandler:健康检查,/health/{serviceId}
    • ServerInfoGetHandler:服务信息,/server/info
    • SpecDisplayHandler:/spec.yaml,返回specification.yml指定的规范文件config/openapi.yml
    • SpecSwaggerUIHandler:/specui.html,返回swagger-ui网页内容,会加载/spec.yaml规范
    • PrometheusGetHandler:/v1/prometheus
    • JwtMockHandler:响应测试token
  • HttpHandler
    • ResponseCodeHandler:响应状态码,支持200、403、404、405、406、500
    • AccessLogHandler:访问日志
    • AllowedMethodsHandler、DisallowedMethodsHandler:限制请求方法
    • AttachmentHandler:增加附件,exchange.putAttachment(AttachementKey,obj)
    • AuthenticationCallHandler、AuthenticationConstraintHandler:认证
    • CachedAuthenticatedSessionHandler、AuthenticationMechanismsHandler:会话
    • BlockingHandler:进入block模式时可以读取input stream
    • ByteRangeHandler:处理分片续传,
    • CacheHandler:暂存处理结果,供其他handler查询使用
    • CanonicalPathHandler:规范路径
    • DisableCacheHandler:响应不缓存,expires=0等
    • DisallowedMethodsHandler:类似BodyHandler
    • EncodingHandler:处理deflate、gzip
    • ExceptionHandler:异常处理,每种异常指定ExceptionHandlerHolder
    • FileErrorPageHandler、SimpleErrorPageHandler:出现哪些错误码时响应指定错误文件,响应文件
    • ForwardedHandler:处理Forwarded头
    • HttpTraceHandler:处理trace请求,响应文本信息
    • MetricsHandler:时间统计
    • OriginHandler:处理Origin
    • PathHandler:处理请求路径,调用对应的handler处理请求
    • PathSeparatorHandler:替换request|relative|resolvedPath
    • PathTemplateHandler:处理请求路径,支持*
    • RoutingHandler:路由
    • ResourceHandler:文件
    • WebSocketProtocolHandshakeHandler:websocket
    • ProxyHandler:代理
    • RedirectHandler:跳转302
    • Request(Buffer|Dump|Encod|Limit)ingHandler:缓冲、转储、编码、限速
    • ResponseRateLimitingHandler:下载限速
    • SetHeaderHandler、SetAttributeHandler、URLDecodingHandler
light4j/handler.txt · 最后更改: 2020/08/13 00:01 由 admin