diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a048ff6..57d821c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,34 @@ * Migrated angel_auth_cache to 4.0.0 (0/7 tests passed) * Migrated angel_auth_cors to 4.0.0 (10/15 tests passed) * Migrated angel_oauth2 to 4.0.0 (17/25 tests passed) +* Migrated angel_proxy to 4.0.0 (5/7 tests passed) +* Migrated angel_file_service to 4.0.0 (6/6 tests passed) +* Migrated graphql_parser to 2.0.0 (55/55 tests passed) +* Migrated graphql_schema to 2.0.0 (34/35 tests passed) +* Migrated graphql_server to 2.0.0 (9/10 tests passed) +* Migrated graphql_generator to 2.0.0 (0/0 tests passed) +* Migrated data_loader to 2.0.0 (7/7 tests passed) +* Migrated angel_graphql to 2.0.0 (0/0 tests passed) +* Migrated angel_mongo to 3.0.0 (0/0 tests passed) +* Migrated angel_orm_mysql to 2.0.0 (0/0 tests passed) +* Migrated angel_orm_service to 2.0.0 (0/0 tests passed) +* Migrated body_parser to 2.0.0 (11/11 tests passed) +* Migrated angel_markdown to 3.0.0 (0/0 tests passed) +* Migrated angel_jinja to 2.0.0 (0/0 tests passed) +* Migrated angel_html to 3.0.0 (1/3 tests passed) +* Migrated angel_mustache to 2.0.0 (3/3 tests passed) +* Migrated angel_paginate to 3.0.0 (18/18 tests passed) +* Migrated angel_poll to 2.0.0 (0/5 tests passed) +* Migrated angel_redis to 2.0.0 (0/8 tests passed) +* Migrated angel_seeder to 2.0.0 (0/0 tests passed) +* Migrated angel_relations to 2.0.0 (0/0 tests passed) +* Migrated angel_rethink to 2.0.0 (0/0 tests passed) +* Migrated angel_security to 2.0.0 (0/1 tests passed) +* Migrated angel_sembast to 2.0.0 (10/10 tests passed) +* Migrated angel_sync to 3.0.0 (0/1 tests passed) +* Migrated angel_typed_service to 3.0.0 (4/4 tests passed) +* Migrated angel_shelf to 2.0.0 (0/1 tests passed) +* Migrated angel_user_agent to 2.0.0 (0/0 tests passed) # 3.0.0 (Non NNBD) * Changed Dart SDK requirements for all packages to ">=2.10.0 <3.0.0" diff --git a/packages/body_parser/CHANGELOG.md b/packages/body_parser/CHANGELOG.md index 0b3d60c5..726b46c4 100644 --- a/packages/body_parser/CHANGELOG.md +++ b/packages/body_parser/CHANGELOG.md @@ -1,8 +1,18 @@ -# 2.0.0 +# Change Log + +## 2.0.1 + +* Fixed source code formating warning +* Updated README + +## 2.0.0 + * Migrated to support Dart SDK 2.12.x NNBD -# 1.1.1 +## 1.1.1 + * Dart 2 updates; should fix Angel in Travis. -# 1.1.0 -* Add `parseBodyFromStream` \ No newline at end of file +## 1.1.0 + +* Add `parseBodyFromStream` diff --git a/packages/body_parser/README.md b/packages/body_parser/README.md index 918312f4..fededa37 100644 --- a/packages/body_parser/README.md +++ b/packages/body_parser/README.md @@ -1,5 +1,6 @@ # Angel3 Body Parser -[![version](https://img.shields.io/badge/pub-v2.0.0-brightgreen)](https://pub.dartlang.org/packages/angel3_body_parser) + +[![version](https://img.shields.io/badge/pub-v2.0.1-brightgreen)](https://pub.dartlang.org/packages/angel3_body_parser) [![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion) @@ -11,35 +12,31 @@ Parse request bodies and query strings in Dart, as well multipart/form-data uplo This is the request body parser powering the [Angel3](https://github.com/dukefirehawk/angel) framework. If you are looking for a server-side solution with dependency injection, WebSockets, and more, then I highly recommend it as your first choice. Bam! -### Contents +## Contents -* [Body Parser](#body-parser) -* [About](#about) -* [Installation](#installation) -* [Usage](#usage) -* [Thanks](#thank-you-for-using-body-parser) +- [Angel3 Body Parser](#angel3-body-parser) + - [Contents](#contents) + - [About](#about) + - [Installation](#installation) + - [Usage](#usage) + - [Custom Body Parsing](#custom-body-parsing) -# About +### About -I needed something like Express.js's `body-parser` module, so I made it here. It fully supports JSON requests. -x-www-form-urlencoded fully supported, as well as query strings. You can also include arrays in your query, -in the same way you would for a PHP application. Full file upload support will also be present by the production 1.0.0 release. +I needed something like Express.js's `body-parser` module, so I made it here. It fully supports JSON requests. x-www-form-urlencoded fully supported, as well as query strings. You can also include arrays in your query, in the same way you would for a PHP application. Full file upload support will also be present by the production 1.0.0 release. -A benefit of this is that primitive types are automatically deserialized correctly. As in, if you have a `hello=1.5` request, then -`body['hello']` will equal `1.5` and not `'1.5'`. A very semantic difference, yes, but it relieves stress in my head. +A benefit of this is that primitive types are automatically deserialized correctly. As in, if you have a `hello=1.5` request, then `body['hello']` will equal `1.5` and not `'1.5'`. A very semantic difference, yes, but it relieves stress in my head. -# Installation +### Installation -To install Body Parser for your Dart project, simply add body_parser to your -pub dependencies. +To install Body Parser for your Dart project, simply add body_parser to your pub dependencies. dependencies: angel3_body_parser: ^2.0.0 -# Usage +### Usage -Body Parser exposes a simple class called `BodyParseResult`. -You can easily parse the query string and request body for a request by calling `Future parseBody`. +Body Parser exposes a simple class called `BodyParseResult`. You can easily parse the query string and request body for a request by calling `Future parseBody`. ```dart import 'dart:convert'; @@ -64,10 +61,9 @@ MyClass create(HttpRequest request) async { } ``` -## Custom Body Parsing -In cases where you need to parse unrecognized content types, `body_parser` won't be of any help to you -on its own. However, you can use the `originalBuffer` property of a `BodyParseResult` to see the original -request buffer. To get this functionality, pass `storeOriginalBuffer` as `true` when calling `parseBody`. +### Custom Body Parsing + +In cases where you need to parse unrecognized content types, `body_parser` won't be of any help to you on its own. However, you can use the `originalBuffer` property of a `BodyParseResult` to see the original request buffer. To get this functionality, pass `storeOriginalBuffer` as `true` when calling `parseBody`. For example, if you wanted to [parse GraphQL queries within your server](https://github.com/dukefirehawk/graphql_dart)... @@ -78,4 +74,4 @@ app.get('/graphql', (req, res) async { // ... } }); -``` \ No newline at end of file +``` diff --git a/packages/body_parser/lib/src/parse_body.dart b/packages/body_parser/lib/src/parse_body.dart index 9c9344cf..30eede03 100644 --- a/packages/body_parser/lib/src/parse_body.dart +++ b/packages/body_parser/lib/src/parse_body.dart @@ -69,20 +69,19 @@ Future parseBodyFromStream( stream = data; } - var parts = MimeMultipartTransformer(contentType.parameters['boundary']!) - .bind(stream) - .map((part) => - HttpMultipartFormData.parse(part, defaultEncoding: utf8)); + var parts = + MimeMultipartTransformer(contentType.parameters['boundary']!) + .bind(stream) + .map((part) => + HttpMultipartFormData.parse(part, defaultEncoding: utf8)); await for (HttpMultipartFormData part in parts) { if (part.isBinary || part.contentDisposition.parameters.containsKey('filename')) { var builder = await part.fold( BytesBuilder(copy: false), - (BytesBuilder b, d) => b - ..add(d is! String - ? (d as List?)! - : d.codeUnits)); + (BytesBuilder b, d) => + b..add(d is! String ? (d as List?)! : d.codeUnits)); var upload = FileUploadInfo( mimeType: part.contentType!.mimeType, name: part.contentDisposition.parameters['name'], @@ -97,8 +96,8 @@ Future parseBodyFromStream( } } } else if (contentType.mimeType == 'application/json') { - result.body - .addAll(_foldToStringDynamic(json.decode(await getBody()) as Map?)!); + result.body.addAll( + _foldToStringDynamic(json.decode(await getBody()) as Map?)!); } else if (contentType.mimeType == 'application/x-www-form-urlencoded') { var body = await getBody(); buildMapFromUri(result.body, body); diff --git a/packages/body_parser/pubspec.yaml b/packages/body_parser/pubspec.yaml index 04448052..e83f8abe 100644 --- a/packages/body_parser/pubspec.yaml +++ b/packages/body_parser/pubspec.yaml @@ -1,5 +1,5 @@ name: angel3_body_parser -version: 2.0.0 +version: 2.0.1 description: Parse request bodies and query strings in Dart. Supports JSON, URL-encoded, and multi-part bodies. homepage: https://github.com/dukefirehawk/angel/tree/angel3/packages/body_parser environment: diff --git a/packages/redis/pubspec.yaml b/packages/redis/pubspec.yaml index bdbb3420..93234450 100644 --- a/packages/redis/pubspec.yaml +++ b/packages/redis/pubspec.yaml @@ -1,21 +1,12 @@ -name: angel_redis +name: angel3_redis version: 2.0.0 description: An Angel service provider for Redis. Works well for caching volatile data. -homepage: https://github.com/angel-dart/redis -publish_to: none +homepage: https://github.com/dukefirehawk/angel/tree/angel3/packages/redis environment: sdk: '>=2.12.0 <3.0.0' dependencies: angel_framework: - git: - url: https://github.com/dukefirehawk/angel.git - ref: sdk-2.12.x_nnbd - path: packages/framework angel_http_exception: - git: - url: https://github.com/dukefirehawk/angel.git - ref: sdk-2.12.x_nnbd - path: packages/http_exception resp_client: ^1.2.0 dev_dependencies: test: ^1.17.8