新增允许跨域
This commit is contained in:
@@ -29,7 +29,7 @@ class ShelfWebServer implements WebServer {
|
|||||||
final requestSpanId = request.context['request_span_id'] as String;
|
final requestSpanId = request.context['request_span_id'] as String;
|
||||||
final requestParentSpanId =
|
final requestParentSpanId =
|
||||||
request.context['request_parent_span_id'] as String?;
|
request.context['request_parent_span_id'] as String?;
|
||||||
logger.info('| 请求路径: ${request.requestedUri}',
|
logger.info('| 请求路径: ${request.method} ${request.requestedUri}',
|
||||||
tag: tag,
|
tag: tag,
|
||||||
traceId: requestId,
|
traceId: requestId,
|
||||||
spanId: requestSpanId,
|
spanId: requestSpanId,
|
||||||
@@ -205,17 +205,28 @@ class ShelfWebServer implements WebServer {
|
|||||||
} else {
|
} else {
|
||||||
args = [req];
|
args = [req];
|
||||||
}
|
}
|
||||||
Response response = await im.invoke(v.simpleName, args).reflectee as Response;
|
Response response =
|
||||||
|
await im.invoke(v.simpleName, args).reflectee as Response;
|
||||||
//判断contenttype是否定义
|
//判断contenttype是否定义
|
||||||
var t = response.headers["content-type"];
|
// var t = response.headers["content-type"];
|
||||||
|
// print(t);
|
||||||
|
Map<String, String> headers = {...response.headers};
|
||||||
|
// if (t == null) {
|
||||||
|
//设置默认contenttype
|
||||||
|
// response = response.change(headers: {
|
||||||
|
// ...response.headers,
|
||||||
|
// "content-type": m.reflectee.responseType.type
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
headers['Access-Control-Allow-Origin'] = '*';
|
||||||
|
headers['Access-Control-Allow-Headers'] =
|
||||||
|
'Content-Type,X-Span-ID,X-Trace-ID';
|
||||||
|
headers['Access-Control-Allow-Methods'] =
|
||||||
|
'GET, POST, PUT, DELETE, OPTIONS';
|
||||||
|
headers["content-type"] = m.reflectee.responseType.type;
|
||||||
|
|
||||||
if (t == null) {
|
// }
|
||||||
//设置默认contenttype
|
response = response.change(headers: headers);
|
||||||
response = response.change(headers: {
|
|
||||||
...response.headers,
|
|
||||||
"content-type": m.reflectee.responseType.type
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
});
|
});
|
||||||
@@ -234,7 +245,21 @@ class ShelfWebServer implements WebServer {
|
|||||||
print("回调函数类型错误 需要 WebSocketHandler ");
|
print("回调函数类型错误 需要 WebSocketHandler ");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_router.add(method.name, path, handler);
|
if (method.name == "ALL") {
|
||||||
|
_router.all(path, handler);
|
||||||
|
} else {
|
||||||
|
_router.add(method.name, path, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method.name != "OPTIONS") {
|
||||||
|
_router.options(path, (r) {
|
||||||
|
return Response.ok('', headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Access-Control-Allow-Headers': 'Content-Type,X-Span-ID,X-Trace-ID',
|
||||||
|
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user