token校验函数改为异步

This commit is contained in:
2026-01-08 16:23:28 +08:00
parent 41727e9185
commit fadc39301e
2 changed files with 4 additions and 4 deletions

View File

@@ -13,7 +13,7 @@ abstract class WebServer {
void start(int port, void start(int port,
{Response? Function(Request, Map<String, dynamic>)? interceptor, {Response? Function(Request, Map<String, dynamic>)? interceptor,
TokenResult Function(String?)? tokenCheck}); Future<TokenResult> Function(String?)? tokenCheck});
void stop(); void stop();
void addHandler(handler); void addHandler(handler);
} }

View File

@@ -17,7 +17,7 @@ class ShelfWebServer implements WebServer {
final Router _router = Router(); final Router _router = Router();
final Uuid uuid = Uuid(); final Uuid uuid = Uuid();
final Map<String, WebSocketHandler> _wsCall = {}; final Map<String, WebSocketHandler> _wsCall = {};
TokenResult Function(String?)? tokenCheck; Future<TokenResult> Function(String?)? tokenCheck;
Response? Function(Request, Map<String, dynamic>)? interceptor; Response? Function(Request, Map<String, dynamic>)? interceptor;
ShelfWebServer(this.logger); ShelfWebServer(this.logger);
@@ -159,7 +159,7 @@ class ShelfWebServer implements WebServer {
@override @override
void start(int port, void start(int port,
{Response? Function(Request, Map<String, dynamic>)? interceptor, {Response? Function(Request, Map<String, dynamic>)? interceptor,
TokenResult Function(String?)? tokenCheck}) async { Future<TokenResult> Function(String?)? tokenCheck}) async {
var pipeline = Pipeline() var pipeline = Pipeline()
//生成请求id //生成请求id
.addMiddleware(requestIdMiddleware()) .addMiddleware(requestIdMiddleware())
@@ -226,7 +226,7 @@ class ShelfWebServer implements WebServer {
bool check = true; bool check = true;
if (tokenCheck != null) { if (tokenCheck != null) {
//自定义token校验函数存在 //自定义token校验函数存在
var checkResult = tokenCheck!(token); var checkResult = await tokenCheck!(token);
if (!checkResult.status) { if (!checkResult.status) {
//校验失败 //校验失败
response = Response.ok(checkResult.errMsg); response = Response.ok(checkResult.errMsg);