2.0.0
This commit is contained in:
parent
ae80b03c1d
commit
b5c0635952
4 changed files with 53 additions and 8 deletions
|
@ -5,9 +5,4 @@
|
||||||
Angel CORS middleware.
|
Angel CORS middleware.
|
||||||
Port of [the original Express CORS middleware](https://github.com/expressjs/cors).
|
Port of [the original Express CORS middleware](https://github.com/expressjs/cors).
|
||||||
|
|
||||||
```dart
|
For complete example usage, see the [example file](example/example.dart).
|
||||||
main() {
|
|
||||||
var app = new Angel();
|
|
||||||
app.fallback(cors());
|
|
||||||
}
|
|
||||||
```
|
|
51
example/example.dart
Normal file
51
example/example.dart
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
import 'dart:async';
|
||||||
|
import 'package:angel_cors/angel_cors.dart';
|
||||||
|
import 'package:angel_framework/angel_framework.dart';
|
||||||
|
|
||||||
|
Future configureServer(Angel 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 +0,0 @@
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
author: Tobe O <thosakwe@gmail.com>
|
author: Tobe O <thosakwe@gmail.com>
|
||||||
description: Angel CORS middleware.
|
description: Angel CORS middleware. Port of expressjs/cors to the Angel framework.
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.0.0 <3.0.0"
|
sdk: ">=2.0.0 <3.0.0"
|
||||||
homepage: https://github.com/angel-dart/cors.git
|
homepage: https://github.com/angel-dart/cors.git
|
||||||
|
|
Loading…
Reference in a new issue