module main
import veb
struct Context {
veb.Context
}
struct App {
veb.Middleware[Context]
}
fn (mut app App) index(mut ctx Context) veb.Result {
return ctx.json('index succcess') //不正常
}
fn main() {
port := 9009
mut app := &App{}
app.use(app.authority_middleware())
veb.run[App, Context](mut app, port)
}
// 初始化中间件并设置 handler ,并返回中间件选项
fn (mut app App) authority_middleware() veb.MiddlewareOptions[Context] {
return veb.MiddlewareOptions[Context]{
handler: verify_app
after: false
}
}
fn verify_app(mut ctx Context) bool {
if true {
send_error(mut ctx, 'err token')
}
return true
}
fn send_error(mut ctx Context, msg string) veb.Result {
// ctx.res.set_status(.unauthorized)
return ctx.text('error unauthorized')
}
Vlang:Global authentication middleware
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 先借一张图 该图详细的的描述了各组件间数据处理经过的方法,非常全面,通过该图可以很好对scrapy各部分进行扩展处理。
- 概述 webpack-dev-middleware与webpack-hot-middleware用于本地开发[we...
- 概述 书接上回:《Rancher 系列文章-K3S 集群升级[https://ewhisper.cn/posts/...
- webpack-dev-middleware 最简单直接的理解就是运行于内存中的文件系统, webpack-dev...
- 版本记录 版本号时间V1.02021.04.01 星期四 前言 Authentication Services框架...