createRequestDispatcher function
RequestDispatcher
createRequestDispatcher(
- List<
DispatcherBuilder> dispatcherBuilders, { - bool corsEnabled = false,
- String allowedOrigins = '',
- Handler defaultHandler = defaultHandler,
Implementation
RequestDispatcher createRequestDispatcher(
List<DispatcherBuilder> dispatcherBuilders, {
bool corsEnabled = false,
String allowedOrigins = '',
Handler defaultHandler = defaultHandler,
}) {
var requestMatcher = asyncMatcher<Request, Response>();
if (corsEnabled) {
if (allowedOrigins.isEmpty) {
throw StateError(
'CORS is enabled, but no allowed origins are specified.');
}
requestMatcher = requestMatcher.addCorsHandler();
}
for (var element in dispatcherBuilders) {
requestMatcher = requestMatcher.appendMatchers(element);
}
return (request) async {
var response = await requestMatcher.otherwise(defaultHandler)(request);
if (corsEnabled) {
return response.change(headers: {
...response.headers,
...corsHeaders,
'access-control-allow-origin': allowedOrigins
});
}
return response;
};
}