cors function

FutureOr Function(HyperioAzkadevHttpRequest, HyperioAzkadevHttpResponse) cors({
  1. int age = 86400,
  2. String headers = '*',
  3. String methods = 'POST, GET, OPTIONS, PUT, PATCH, DELETE',
  4. String origin = '*',
  5. String crossOriginEmbedderPolicy = "credentialless",
  6. String crossOriginOpenerPolicy = "cross-origin",
})

CORS Middlware.

Has some sensible defaults. You probably want to change the origin

Implementation

FutureOr Function(HyperioAzkadevHttpRequest, HyperioAzkadevHttpResponse) cors({
  int age = 86400,
  String headers = '*',
  String methods = 'POST, GET, OPTIONS, PUT, PATCH, DELETE',
  String origin = '*',
  String crossOriginEmbedderPolicy = "credentialless",
  String crossOriginOpenerPolicy = "cross-origin",
}) {
  return (HyperioAzkadevHttpRequest req, HyperioAzkadevHttpResponse res) {
    // web wasm https
    res.headers.set('Cross-Origin-Embedder-Policy', crossOriginEmbedderPolicy);
    res.headers.set('Cross-Origin-Opener-Policy', crossOriginOpenerPolicy);

    /// web wasm

    res.headers.set('Access-Control-Allow-Origin', origin);
    res.headers.set('Access-Control-Allow-Methods', methods);
    res.headers.set('Access-Control-Allow-Headers', headers);
    res.headers.set('Access-Control-Expose-Headers', headers);
    res.headers.set('Access-Control-Max-Age', age);
    if (req.method == 'OPTIONS') {
      res.close();
    }
  };
}