cors function

Callback cors({
  1. dynamic origin = '*',
  2. String methods = 'GET,HEAD,PUT,PATCH,POST,DELETE',
  3. String allowedHeaders = '*',
  4. String? exposedHeaders,
  5. bool? credentials,
  6. int? maxAge,
  7. bool? preflightContinue,
  8. int? optionsSuccessStatus,
})

Middleware to handle CORS.

Implementation

Callback cors({
  dynamic origin = '*',
  String methods = 'GET,HEAD,PUT,PATCH,POST,DELETE',
  String allowedHeaders = '*',
  String? exposedHeaders,
  bool? credentials,
  int? maxAge,
  bool? preflightContinue,
  int? optionsSuccessStatus,
}) {
  return (Req req, Res res) {
    res.headers.set('Access-Control-Allow-Origin', origin);
    res.headers.set('Access-Control-Allow-Methods', methods);
    res.headers.set('Access-Control-Allow-Headers', allowedHeaders);

    if (exposedHeaders != null) {
      res.headers.set('Access-Control-Expose-Headers', exposedHeaders);
    }

    if (credentials != null && credentials) {
      res.headers.set('Access-Control-Allow-Credentials', credentials);
    }

    if (maxAge != null) {
      res.headers.set('Access-Control-Max-Age', maxAge);
    }

    if (req.method == 'OPTIONS') {
      res.end();
    }
  };
}