galileo_cors 3.0.0 copy "galileo_cors: ^3.0.0" to clipboard
galileo_cors: ^3.0.0 copied to clipboard

Galileo CORS middleware. Port of expressjs/cors to the Galileo framework.

example/example.dart

import 'dart:async';
import 'package:galileo_cors/galileo_cors.dart';
import 'package:galileo_framework/galileo_framework.dart';

Future configureServer(Galileo app) async {
  // The default options will allow CORS for any request.
  // Combined with `fallback`, you can enable CORS application-wide.
  app.fallback(cors());

  // You can also enable CORS for a single route.
  app.get(
    '/my_api',
    chain([
      cors(),
      (req, res) {
        // Request handling logic here...
      }
    ]),
  );

  // Likewise, you can apply CORS to a group.
  app.chain([cors()]).group('/api', (router) {
    router.get('/version', (req, res) => 'v0');
  });

  // Of course, you can configure CORS.
  // The following is just a subset of the available options;
  app.fallback(cors(
    CorsOptions(
      origin: 'https://pub.dartlang.org', successStatus: 200, // default 204
      allowedHeaders: ['POST'],
      preflightContinue: false, // default false
    ),
  ));

  // You can specify the origin in different ways:
  CorsOptions(origin: 'https://pub.dartlang.org');
  CorsOptions(origin: ['https://example.org', 'http://foo.bar']);
  CorsOptions(origin: RegExp(r'^foo\.[^$]+'));
  CorsOptions(origin: (String s) => s.length == 4);

  // Lastly, you can dynamically configure CORS:
  app.fallback(dynamicCors((req, res) {
    return CorsOptions(
      origin: [
        req.headers.value('origin') ?? 'https://pub.dartlang.org',
        RegExp(r'\.com$'),
      ],
    );
  }));
}
1
likes
40
pub points
0%
popularity

Publisher

verified publishergalileodart.com

Galileo CORS middleware. Port of expressjs/cors to the Galileo framework.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

galileo_framework

More

Packages that depend on galileo_cors