intercept
以阻塞的形式实现 EventInterceptor.intercept.
Java 中可以直接通过 EventInterceptors.block
构建。
See also
对被拦截的内容进行处理。
想要继续流程则使用 Context.invoke 进入到下一个拦截器,或者进入正常流程。
例如放行:
override suspend fun intercept(context: Context): EventResult {
// do something...?
// 执行 context.invoke() 就是放行。
val result = context.invoke()
// and do something...?
return result
}
Content copied to clipboard
例如拦截:
override suspend fun intercept(context: Context): EventResult {
// 不执行 context.invoke() 就是拦截。
// 自行构建一个result实例
return EventResult(...)
}
Content copied to clipboard