mqttid后缀自动追加时间戳防止冲突 web服务器handler调用加入jwt解码后的参数 服务发现新增从本地获取全部ip进行地址匹配
This commit is contained in:
@@ -4,6 +4,7 @@ import 'dart:mirrors';
|
||||
import 'package:EasyDartModule/EasyDartModule.dart';
|
||||
import 'package:EasyDartModule/base/logger/Logger.dart';
|
||||
import 'package:EasyDartModule/base/webserver/WebServer.dart';
|
||||
import 'package:dart_jsonwebtoken/dart_jsonwebtoken.dart';
|
||||
import 'package:shelf/shelf.dart';
|
||||
import 'package:shelf/shelf_io.dart';
|
||||
import 'package:shelf_router/shelf_router.dart';
|
||||
@@ -187,7 +188,19 @@ class ShelfWebServer implements WebServer {
|
||||
//把地址加入路由
|
||||
|
||||
addRouter(m.reflectee.method, p, (req, [a, b, c, d, e, f]) {
|
||||
return im.invoke(v.simpleName, [req]).reflectee;
|
||||
//从request中获取token并解码传入
|
||||
String? token = req.headers["token"];
|
||||
dynamic payload;
|
||||
if (token != null) {
|
||||
try {
|
||||
payload = JWT.decode(token).payload;
|
||||
} catch (e) {
|
||||
//jwt解码失败
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
return im.invoke(v.simpleName,
|
||||
[req, payload ?? <String, dynamic>{}]).reflectee;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user