https://github.com/izolate/shelf-cookie
Cookie parser middleware for Shelf (Dart)
https://github.com/izolate/shelf-cookie
cookie-parser cookies dart middleware sessions shelf
Last synced: 4 months ago
JSON representation
Cookie parser middleware for Shelf (Dart)
- Host: GitHub
- URL: https://github.com/izolate/shelf-cookie
- Owner: izolate
- License: mit
- Created: 2019-08-10T18:13:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-09T08:04:22.000Z (about 5 years ago)
- Last Synced: 2025-01-31T10:35:50.512Z (about 1 year ago)
- Topics: cookie-parser, cookies, dart, middleware, sessions, shelf
- Language: Dart
- Homepage:
- Size: 14.6 KB
- Stars: 4
- Watchers: 2
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# shelf_cookie
Cookie parser middleware for the Dart Shelf ecosystem.
Reads cookies in request, sets cookies in response.
Adds a `CookieParser` instance to `request.context['cookies']` to help
manipulate cookies.
## Example
```dart
import 'dart:io';
import 'package:shelf/shelf.dart' as shelf;
import 'package:shelf_cookie/shelf_cookie.dart';
/// Handle a request that contains a `Cookie` header.
/// e.g. 'Cookie': 'ping=foo'
var handler = const shelf.Pipeline()
// initialize cookie parser middleware
.addMiddleware(cookieParser())
.addHandler((req) async {
CookieParser cookies = req.context['cookies'];
// Retrieve request cookies.
var reqCookie = cookies.get('ping');
print(reqCookie.name); // foo
// Clear cookies because Shelf currently only supports
// a single `Set-Cookie` header in response.
cookies.clear();
// Create a cookie for response.
var resCookie = cookies.set('pong', 'bar', secure: true);
// Middleware will add `Set-Cookie` response header.
// e.g. 'Set-Cookie': 'pong=bar; Secure; HttpOnly'
return shelf.Response.ok('OK');
});
```