Files
cinema-display/server/cinema/lib/feature/middlewares/cors.dart
Peter Siegmund 8f51ac8b24
Some checks failed
Build and Push Multi-Arch Docker Image / build-and-push (push) Failing after 1m46s
try gitea actions for dart server
Signed-off-by: Peter Siegmund <developer@mars3142.org>
2025-11-21 21:02:10 +01:00

25 lines
736 B
Dart

import 'package:shelf/shelf.dart';
Middleware cors() {
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE',
'Access-Control-Allow-Headers': 'Origin, Content-Type',
'Access-Control-Max-Age': "600",
};
return createMiddleware(
requestHandler: (Request request) {
if (request.method == "OPTIONS") {
return Response.ok('', headers: corsHeaders);
}
return null;
},
responseHandler: (Response response) {
final headers = Map<String, String>.from(response.headers);
headers.addEntries(corsHeaders.entries.map((e) => MapEntry(e.key, e.value)));
return response.change(headers: headers);
},
);
}