update(angel3): re-branding angel3

This commit is contained in:
Patrick Stewart 2024-09-23 13:35:32 -07:00
parent 5a66ff8d54
commit daf6403479
28 changed files with 92 additions and 92 deletions

View file

@ -1,5 +1,5 @@
{ {
"systemMessage": "You are a expert senior software engineer. You are highly proficient in HTML, CSS, JavaScript, PHP, Python, Perl, Dart, Flutter, SQL, Json, Yaml, MongoDB, MySQL, PostgreSQL, Docker, Kubernetes, Git, Github, Shell, Make, Melos, CI/CD, Firebase, Blockchain Development and Technologies with over 10+ years of experience in software and blockchain development. You are an expert in Laravel, Symfony, Codeigniter PHP frameworks Including, Conduit, Angel3, Serverpod, Riverpod, Vania, Nylo Dart frameworks. You are also an expert in writing unit test, regular expressions and project documentation. Your are also an expert at educating and teaching others what you know.", "systemMessage": "You are a expert senior software engineer. You are highly proficient in HTML, CSS, JavaScript, PHP, Python, Perl, Dart, Flutter, SQL, Json, Yaml, MongoDB, MySQL, PostgreSQL, Docker, Kubernetes, Git, Github, Shell, Make, Melos, CI/CD, Firebase, Blockchain Development and Technologies with over 10+ years of experience in software and blockchain development. You are an expert in Laravel, Symfony, Codeigniter PHP frameworks Including, Conduit, Protevus, Serverpod, Riverpod, Vania, Nylo Dart frameworks. You are also an expert in writing unit test, regular expressions and project documentation. Your are also an expert at educating and teaching others what you know.",
"completionOptions": { "completionOptions": {
"maxTokens": 30000 "maxTokens": 30000
}, },

View file

@ -2,7 +2,7 @@ temperature: 0.5
maxTokens: 30000 maxTokens: 30000
--- ---
<system> <system>
You are an expert senior software engineer. You are highly proficient in HTML, CSS, JavaScript, PHP, Python, Perl, Dart, Flutter, SQL, JSON, YAML, MongoDB, MySQL, PostgreSQL, Docker, Kubernetes, Git, GitHub, Shell, Make, Melos, CI/CD, Firebase, Blockchain Development, and Technologies with over 10+ years of experience in software and blockchain development. You are an expert in Laravel, Symfony, CodeIgniter PHP frameworks, and Conduit, Angel3, Serverpod, Riverpod, Vania, Nylo Dart frameworks. You are also an expert in writing unit tests, regular expressions, and project documentation. Additionally, you excel at educating and teaching others. You are an expert senior software engineer. You are highly proficient in HTML, CSS, JavaScript, PHP, Python, Perl, Dart, Flutter, SQL, JSON, YAML, MongoDB, MySQL, PostgreSQL, Docker, Kubernetes, Git, GitHub, Shell, Make, Melos, CI/CD, Firebase, Blockchain Development, and Technologies with over 10+ years of experience in software and blockchain development. You are an expert in Laravel, Symfony, CodeIgniter PHP frameworks, and Conduit, Protevus, Serverpod, Riverpod, Vania, Nylo Dart frameworks. You are also an expert in writing unit tests, regular expressions, and project documentation. Additionally, you excel at educating and teaching others.
</system> </system>
{{{ input }}} {{{ input }}}

View file

@ -2,7 +2,7 @@ temperature: 0.5
maxTokens: 30000 maxTokens: 30000
--- ---
<system> <system>
You are an expert senior software engineer. You are highly proficient in HTML, CSS, JavaScript, PHP, Python, Perl, Dart, Flutter, SQL, JSON, YAML, MongoDB, MySQL, PostgreSQL, Docker, Kubernetes, Git, GitHub, Shell, Make, Melos, CI/CD, Firebase, Blockchain Development, and Technologies with over 10+ years of experience in software and blockchain development. You are an expert in Laravel, Symfony, CodeIgniter PHP frameworks, and Conduit, Angel3, Serverpod, Riverpod, Vania, Nylo Dart frameworks. You are also an expert in writing unit tests, regular expressions, and project documentation. Additionally, you excel at educating and teaching others. You are an expert senior software engineer. You are highly proficient in HTML, CSS, JavaScript, PHP, Python, Perl, Dart, Flutter, SQL, JSON, YAML, MongoDB, MySQL, PostgreSQL, Docker, Kubernetes, Git, GitHub, Shell, Make, Melos, CI/CD, Firebase, Blockchain Development, and Technologies with over 10+ years of experience in software and blockchain development. You are an expert in Laravel, Symfony, CodeIgniter PHP frameworks, and Conduit, Protevus, Serverpod, Riverpod, Vania, Nylo Dart frameworks. You are also an expert in writing unit tests, regular expressions, and project documentation. Additionally, you excel at educating and teaching others.
</system> </system>
{{{ input }}} {{{ input }}}

View file

@ -1,11 +1,11 @@
# Angel3 Container # Protevus Container
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_container?include_prereleases) ![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_container?include_prereleases)
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![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) [![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion)
[![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/container/angel_container/LICENSE) [![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/container/angel_container/LICENSE)
A better IoC container for Angel3, ultimately allowing Angel3 to be used with or without `dart:mirrors` package. A better IoC container for Protevus, ultimately allowing Protevus to be used with or without `dart:mirrors` package.
```dart ```dart
import 'package:angel3_container/mirrors.dart'; import 'package:angel3_container/mirrors.dart';
@ -32,14 +32,14 @@ A better IoC container for Angel3, ultimately allowing Angel3 to be used with or
void main() async { void main() async {
// Using Mirror Reflector // Using Mirror Reflector
var app = Angel(reflector: MirrorsReflector()); var app = Protevus(reflector: MirrorsReflector());
// Sales Controller // Sales Controller
app.container.registerSingleton<SalesController>(SalesController()); app.container.registerSingleton<SalesController>(SalesController());
await app.mountController<SalesController>(); await app.mountController<SalesController>();
var http = AngelHttp(app); var http = ProtevusHttp(app);
var server = await http.startServer('localhost', 3000); var server = await http.startServer('localhost', 3000);
print("Angel3 server listening at ${http.uri}"); print("Protevus server listening at ${http.uri}");
} }
``` ```

View file

@ -1,11 +1,11 @@
# Angel3 Container Generator # Protevus Container Generator
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_container_generator?include_prereleases) ![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_container_generator?include_prereleases)
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![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) [![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion)
[![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/container/angel3_container_generator/LICENSE) [![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/container/angel3_container_generator/LICENSE)
An alternative container for Angel3 that uses `reflectable` package instead of `dart:mirrors` for reflection. However, `reflectable` has more limited relfection capabilities when compared to `dart:mirrors`. An alternative container for Protevus that uses `reflectable` package instead of `dart:mirrors` for reflection. However, `reflectable` has more limited relfection capabilities when compared to `dart:mirrors`.
## Usage ## Usage

View file

@ -24,7 +24,7 @@
## 6.0.0 ## 6.0.0
* Require Dart >= 2.16 * Require Dart >= 2.16
* [**Breaking**] `error` for `AngelHttpException` is no longer mandatory * [**Breaking**] `error` for `HttpException` is no longer mandatory
## 5.0.0 ## 5.0.0

View file

@ -1,8 +1,8 @@
# Angel3 Http Exception # Protevus Http Exception
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_http_exception?include_prereleases) ![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_http_exception?include_prereleases)
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![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) [![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion)
[![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/http_exception/LICENSE) [![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/http_exception/LICENSE)
Exception class that can be serialized to JSON and serialized to clients. Angel3's HTTP exception class. Exception class that can be serialized to JSON and serialized to clients. Protevus's HTTP exception class.

View file

@ -20,8 +20,8 @@
## 8.2.0 ## 8.2.0
* Add `addResponseHeader` to `AngelHttp` to add headers to HTTP default response * Add `addResponseHeader` to `ProtevusHttp` to add headers to HTTP default response
* Add `removeResponseHeader` to `AngelHttp` to remove headers from HTTP default response * Add `removeResponseHeader` to `ProtevusHttp` to remove headers from HTTP default response
## 8.1.1 ## 8.1.1
@ -80,7 +80,7 @@
## 4.2.2 ## 4.2.2
* Added `Date` to response header * Added `Date` to response header
* Updated `Server: Angel3` response header * Updated `Server: Protevus` response header
## 4.2.1 ## 4.2.1
@ -103,7 +103,7 @@
## 4.1.1 ## 4.1.1
* Updated link to `Angel3` home page * Updated link to `Protevus` home page
* Fixed pedantic warnings * Fixed pedantic warnings
## 4.1.0 ## 4.1.0
@ -138,7 +138,7 @@
## 2.1.1 ## 2.1.1
* `AngelHttp.uri` now returns an empty `Uri` if the server is not listening. * `ProtevusHttp.uri` now returns an empty `Uri` if the server is not listening.
## 2.1.0 ## 2.1.0
@ -150,7 +150,7 @@ therefore been bumped to `2.1.0`.
## 2.0.5-beta ## 2.0.5-beta
* Make `@Expose()` in `Controller` optional. <https://github.com/angel-dart/angel/issues/107> * Make `@Expose()` in `Controller` optional. <https://github.com/angel-dart/angel/issues/107>
* Add `allowHttp1` to `AngelHttp2` constructors. <https://github.com/angel-dart/angel/issues/108> * Add `allowHttp1` to `ProtevusHttp2` constructors. <https://github.com/angel-dart/angel/issues/108>
* Add `deserializeBody` and `decodeBody` to `RequestContext`. <https://github.com/angel-dart/angel/issues/109> * Add `deserializeBody` and `decodeBody` to `RequestContext`. <https://github.com/angel-dart/angel/issues/109>
* Add `HostnameRouter`, which allows for routing based on hostname. <https://github.com/angel-dart/angel/issues/110> * Add `HostnameRouter`, which allows for routing based on hostname. <https://github.com/angel-dart/angel/issues/110>
* Default to using `ThrowingReflector`, instead of `EmptyReflector`. This will give a more descriptive * Default to using `ThrowingReflector`, instead of `EmptyReflector`. This will give a more descriptive
@ -189,17 +189,17 @@ See more: <https://github.com/angel-dart/angel/issues/106#issuecomment-499564485
handlers to run, even after the response was closed. handlers to run, even after the response was closed.
* Add `RequestContext.shutdownHooks`. * Add `RequestContext.shutdownHooks`.
* Call `RequestContext.close` in `Driver.sendResponse`. * Call `RequestContext.close` in `Driver.sendResponse`.
* AngelConfigurer is now `FutureOr<void>`, instead of just `FutureOr`. * ProtevusConfigurer is now `FutureOr<void>`, instead of just `FutureOr`.
* Use a `Container.has<Stopwatch>` check in `Driver.sendResponse`. * Use a `Container.has<Stopwatch>` check in `Driver.sendResponse`.
* Remove unnecessary `new` and `const`. * Remove unnecessary `new` and `const`.
## 2.0.0 ## 2.0.0
* Angel 2! :angel: :rocket: * Protevus 2! :angel: :rocket:
## 2.0.0-rc.10 ## 2.0.0-rc.10
* Fix an error that prevented `AngelHttp2.custom` from working properly. * Fix an error that prevented `ProtevusHttp2.custom` from working properly.
* Add `startSharedHttp2`. * Add `startSharedHttp2`.
## 2.0.0-rc.9 ## 2.0.0-rc.9
@ -246,8 +246,8 @@ the outputs of `before` events.
## 2.0.0-rc.0 ## 2.0.0-rc.0
* Log a warning when no `reflector` is provided. * Log a warning when no `reflector` is provided.
* Add `AngelEnvironment` class. * Add `ProtevusEnvironment` class.
* Add `Angel.environment`. * Add `Protevus.environment`.
* Deprecated `app.isProduction` in favor of `app.environment.isProduction`. * Deprecated `app.isProduction` in favor of `app.environment.isProduction`.
* Allow setting of `bodyAsObject`, `bodyAsMap`, or `bodyAsList` **exactly once**. * Allow setting of `bodyAsObject`, `bodyAsMap`, or `bodyAsList` **exactly once**.
* Resolve named singletons in `resolveInjection`. * Resolve named singletons in `resolveInjection`.
@ -256,8 +256,8 @@ the outputs of `before` events.
## 2.0.0-alpha.24 ## 2.0.0-alpha.24
* Add `AngelEnv` class to `core`. * Add `ProtevusEnv` class to `core`.
* Deprecate `Angel.isProduction`, in favor of `AngelEnv`. * Deprecate `Protevus.isProduction`, in favor of `ProtevusEnv`.
## 2.0.0-alpha.23 ## 2.0.0-alpha.23
@ -306,7 +306,7 @@ stable, there'll be a conversion, perhaps.
* `RequestContext` now exposes a `Stream<List<int>> get body` getter. * `RequestContext` now exposes a `Stream<List<int>> get body` getter.
* Calling `RequestContext.parseBody()` parses its contents. * Calling `RequestContext.parseBody()` parses its contents.
* Added `bodyAsMap`, `bodyAsList`, `bodyAsObject`, and `uploadedFiles` to `RequestContext`. * Added `bodyAsMap`, `bodyAsList`, `bodyAsObject`, and `uploadedFiles` to `RequestContext`.
* Removed `Angel.keepRawRequestBuffers` and anything that had to do with buffering request bodies. * Removed `Protevus.keepRawRequestBuffers` and anything that had to do with buffering request bodies.
## 2.0.0-alpha.14 ## 2.0.0-alpha.14
@ -319,21 +319,21 @@ stable, there'll be a conversion, perhaps.
## 2.0.0-alpha.12 ## 2.0.0-alpha.12
* Remove `ResponseContext.sendFile`. * Remove `ResponseContext.sendFile`.
* Add `Angel.mimeTypeResolver`. * Add `Protevus.mimeTypeResolver`.
* Fix a bug where an unknown MIME type on `streamFile` would return a 500. * Fix a bug where an unknown MIME type on `streamFile` would return a 500.
## 2.0.0-alpha.11 ## 2.0.0-alpha.11
* Add `readMany` to `Service`. * Add `readMany` to `Service`.
* Allow `ResponseContext.redirect` to take a `Uri`. * Allow `ResponseContext.redirect` to take a `Uri`.
* Add `Angel.mountController`. * Add `Protevus.mountController`.
* Add `Angel.findServiceOf`. * Add `Protevus.findServiceOf`.
* Roll in HTTP/2. See `pkg:angel_framework/http2.dart`. * Roll in HTTP/2. See `pkg:angel_framework/http2.dart`.
## 2.0.0-alpha.10 ## 2.0.0-alpha.10
* All calls to `Service.parseId` are now affixed with the `<Id>` argument. * All calls to `Service.parseId` are now affixed with the `<Id>` argument.
* Added `uri` getter to `AngelHttp`. * Added `uri` getter to `ProtevusHttp`.
* The default for `parseQuery` now wraps query parameters in `Map<String, dynamic>.from`. * The default for `parseQuery` now wraps query parameters in `Map<String, dynamic>.from`.
This resolves a bug in `package:angel_validate`. This resolves a bug in `package:angel_validate`.
@ -379,10 +379,10 @@ stable, there'll be a conversion, perhaps.
## 2.0.0-alpha.1 ## 2.0.0-alpha.1
* Removed `Angel.injectEncoders`. * Removed `Protevus.injectEncoders`.
* Added `Providers.toJson`. * Added `Providers.toJson`.
* Moved `Providers.graphql` to `Providers.graphQL`. * Moved `Providers.graphql` to `Providers.graphQL`.
* `Angel.optimizeForProduction` no longer calls `preInject`, * `Protevus.optimizeForProduction` no longer calls `preInject`,
as it does not need to. as it does not need to.
* Rename `ResponseContext.enableBuffer` to `ResponseContext.useBuffer`. * Rename `ResponseContext.enableBuffer` to `ResponseContext.useBuffer`.
@ -398,7 +398,7 @@ stable, there'll be a conversion, perhaps.
* Remove dependency on `package:dart2_constant`. * Remove dependency on `package:dart2_constant`.
* Moved `lib/hooks.dart` into `package:angel_hooks`. * Moved `lib/hooks.dart` into `package:angel_hooks`.
* Moved `TypedService` into `package:angel_typed_service`. * Moved `TypedService` into `package:angel_typed_service`.
* Completely removed the `AngelBase` class. * Completely removed the `ProtevusBase` class.
* Removed all `@deprecated` symbols. * Removed all `@deprecated` symbols.
* `Service.toId` was renamed to `Service.parseId`; it also now uses its * `Service.toId` was renamed to `Service.parseId`; it also now uses its
single type argument to determine how to parse a value. \* In addition, this method was also made `static`. single type argument to determine how to parse a value. \* In addition, this method was also made `static`.
@ -409,16 +409,16 @@ stable, there'll be a conversion, perhaps.
gone. gone.
* `HttpRequestContextImpl` and `HttpResponseContextImpl` were renamed to * `HttpRequestContextImpl` and `HttpResponseContextImpl` were renamed to
`HttpRequestContext` and `HttpResponseContext`. `HttpRequestContext` and `HttpResponseContext`.
* Lazy-parsing request bodies is now the default; `Angel.lazyParseBodies` was replaced * Lazy-parsing request bodies is now the default; `Protevus.lazyParseBodies` was replaced
with `Angel.eagerParseRequestBodies`. with `Protevus.eagerParseRequestBodies`.
* `Angel.storeOriginalBuffer` -> `Angel.storeRawRequestBuffers`. * `Protevus.storeOriginalBuffer` -> `Protevus.storeRawRequestBuffers`.
* The methods `lazyBody`, `lazyFiles`, and `lazyOriginalBuffer` on `ResponseContext` were all * The methods `lazyBody`, `lazyFiles`, and `lazyOriginalBuffer` on `ResponseContext` were all
replaced with `parseBody`, `parseUploadedFiles`, and `parseRawRequestBuffer`, respectively. replaced with `parseBody`, `parseUploadedFiles`, and `parseRawRequestBuffer`, respectively.
* Removed the synchronous equivalents of the above methods (`body`, `files`, and `originalBuffer`), * Removed the synchronous equivalents of the above methods (`body`, `files`, and `originalBuffer`),
as well as `query`. as well as `query`.
* Removed `Angel.injections` and `RequestContext.injections`. * Removed `Protevus.injections` and `RequestContext.injections`.
* Removed `Angel.inject` and `RequestContext.inject`. * Removed `Protevus.inject` and `RequestContext.inject`.
* Removed a dependency on `package:pool`, which also meant removing `AngelHttp.throttle`. * Removed a dependency on `package:pool`, which also meant removing `ProtevusHttp.throttle`.
* Remove the `RequestMiddleware` typedef; from now on, one should use `ResponseContext.end` * Remove the `RequestMiddleware` typedef; from now on, one should use `ResponseContext.end`
exclusively to close responses. exclusively to close responses.
* `waterfall` will now only accept `RequestHandler`. * `waterfall` will now only accept `RequestHandler`.
@ -434,11 +434,11 @@ stable, there'll be a conversion, perhaps.
* Removed `RequestContext.properties`. * Removed `RequestContext.properties`.
* Removed the defunct `debug` property where it still existed. * Removed the defunct `debug` property where it still existed.
* `Routable.use` now only accepts a `Service`. * `Routable.use` now only accepts a `Service`.
* Removed `Angel.createZoneForRequest`. * Removed `Protevus.createZoneForRequest`.
* Removed `Angel.defaultZoneCreator`. * Removed `Protevus.defaultZoneCreator`.
* Added all flags to the `Angel` constructor, ex. `Angel.eagerParseBodies`. * Added all flags to the `Protevus` constructor, ex. `Protevus.eagerParseBodies`.
* Fix a bug where synchronous errors in `handleRequest` would not be caught. * Fix a bug where synchronous errors in `handleRequest` would not be caught.
* `AngelHttp.useZone` now defaults to `false`. * `ProtevusHttp.useZone` now defaults to `false`.
* `ResponseContext` now starts in streaming mode by default; the response buffer is opt-in, * `ResponseContext` now starts in streaming mode by default; the response buffer is opt-in,
as in many cases it is unnecessary and slows down response time. as in many cases it is unnecessary and slows down response time.
* `ResponseContext.streaming` was replaced by `ResponseContext.isBuffered`. * `ResponseContext.streaming` was replaced by `ResponseContext.isBuffered`.
@ -448,5 +448,5 @@ stable, there'll be a conversion, perhaps.
* Removed the now-obsolete `ResponseContext.end`. * Removed the now-obsolete `ResponseContext.end`.
* Removed the now-obsolete `ResponseContext.releaseCorrespondingRequest`. * Removed the now-obsolete `ResponseContext.releaseCorrespondingRequest`.
* `preInject` now takes a `Reflector` as its second argument. * `preInject` now takes a `Reflector` as its second argument.
* `Angel.reflector` defaults to `const EmptyReflector()`, disabling * `Protevus.reflector` defaults to `const EmptyReflector()`, disabling
reflection out-of-the-box. reflection out-of-the-box.

View file

@ -1,6 +1,6 @@
# Angel3 Framework # Protevus Framework
[![Angel3 Framework](../../angel3_logo.png)](https://github.com/dart-backend/angel) [![Protevus Framework](../../angel3_logo.png)](https://github.com/dart-backend/angel)
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_framework?include_prereleases) ![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_framework?include_prereleases)
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety)
@ -8,9 +8,9 @@
[![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/framework/LICENSE) [![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/framework/LICENSE)
[![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos) [![melos](https://img.shields.io/badge/maintained%20with-melos-f700ff.svg?style=flat-square)](https://github.com/invertase/melos)
Angel3 framework is a high-powered HTTP server with support for dependency injection, sophisticated routing, authentication, ORM, graphql etc. It is designed to keep the core minimal but extensible through a series of plugin packages. It won't dictate which features, databases or web templating engine to use. This flexibility enable Angel3 framework to grow with your application as new features can be added to handle the new use cases. Protevus framework is a high-powered HTTP server with support for dependency injection, sophisticated routing, authentication, ORM, graphql etc. It is designed to keep the core minimal but extensible through a series of plugin packages. It won't dictate which features, databases or web templating engine to use. This flexibility enable Protevus framework to grow with your application as new features can be added to handle the new use cases.
This package is the core package of [Angel3](https://github.com/dart-backend/angel). For more information, visit us at [Angel3 Website](https://angel3-framework.web.app). This package is the core package of [Protevus](https://github.com/dart-backend/angel). For more information, visit us at [Protevus Website](https://angel3-framework.web.app).
## Installation and Setup ## Installation and Setup
@ -19,10 +19,10 @@ This package is the core package of [Angel3](https://github.com/dart-backend/ang
1. Download and install [Dart](https://dart.dev/get-dart) 1. Download and install [Dart](https://dart.dev/get-dart)
2. Clone one of the following starter projects: 2. Clone one of the following starter projects:
* [Angel3 Basic Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-basic) * [Protevus Basic Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-basic)
* [Angel3 ORM Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-orm) * [Protevus ORM Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-orm)
* [Angel3 ORM MySQL Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-orm-mysql) * [Protevus ORM MySQL Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-orm-mysql)
* [Angel3 Graphql Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-graphql) * [Protevus Graphql Template](https://github.com/dukefirehawk/boilerplates/tree/v7/angel3-graphql)
3. Run the project in development mode (*hot-reloaded* is enabled on file changes). 3. Run the project in development mode (*hot-reloaded* is enabled on file changes).
@ -38,11 +38,11 @@ This package is the core package of [Angel3](https://github.com/dart-backend/ang
5. Run as docker. Edit and build the image with the provided `Dockerfile` file. 5. Run as docker. Edit and build the image with the provided `Dockerfile` file.
### (Option 2) Create a new project with Angel3 CLI ### (Option 2) Create a new project with Protevus CLI
1. Download and install [Dart](https://dart.dev/get-dart) 1. Download and install [Dart](https://dart.dev/get-dart)
2. Install the [Angel3 CLI](https://pub.dev/packages/angel3_cli): 2. Install the [Protevus CLI](https://pub.dev/packages/angel3_cli):
```bash ```bash
dart pub global activate angel3_cli dart pub global activate angel3_cli
@ -74,9 +74,9 @@ The performance benchmark can be found at
[TechEmpower Framework Benchmarks Round 21](https://www.techempower.com/benchmarks/#section=data-r21&test=composite) [TechEmpower Framework Benchmarks Round 21](https://www.techempower.com/benchmarks/#section=data-r21&test=composite)
### Migrating from Angel to Angel3 ### Migrating from Angel to Protevus
Check out [Migrating to Angel3](https://angel3-docs.dukefirehawk.com/migration/angel-2.x.x-to-angel3/migration-guide-3) Check out [Migrating to Protevus](https://angel3-docs.dukefirehawk.com/migration/angel-2.x.x-to-angel3/migration-guide-3)
## Donation & Support ## Donation & Support

View file

@ -8,7 +8,7 @@ void main() async {
Logger.root.onRecord.listen(print); Logger.root.onRecord.listen(print);
// Create our server. // Create our server.
var app = Protevus(logger: Logger('angel'), reflector: MirrorsReflector()); var app = Protevus(logger: Logger('protevus'), reflector: MirrorsReflector());
var http = ProtevusHttp(app); var http = ProtevusHttp(app);
await app.mountController<ArtistsController>(); await app.mountController<ArtistsController>();

View file

@ -7,7 +7,7 @@ import 'package:logging/logging.dart';
void main() async { void main() async {
var app = Protevus(reflector: MirrorsReflector()) var app = Protevus(reflector: MirrorsReflector())
..logger = (Logger('angel') ..logger = (Logger('protevus')
..onRecord.listen((rec) { ..onRecord.listen((rec) {
print(rec); print(rec);
if (rec.error != null) print(rec.error); if (rec.error != null) print(rec.error);

View file

@ -19,7 +19,7 @@ void main() async {
hierarchicalLoggingEnabled = true; hierarchicalLoggingEnabled = true;
//Logger.root.onRecord.listen(prettyLog); //Logger.root.onRecord.listen(prettyLog);
var app = Protevus(logger: Logger('angel')); var app = Protevus(logger: Logger('protevus'));
var http = ProtevusHttp(app); var http = ProtevusHttp(app);
var multiHost = HostnameRouter.configure({ var multiHost = HostnameRouter.configure({
'api.localhost:3000': apiConfigurer, 'api.localhost:3000': apiConfigurer,

View file

@ -7,7 +7,7 @@ import 'package:logging/logging.dart';
void main() async { void main() async {
var app = Protevus(); var app = Protevus();
app.logger = Logger('angel') app.logger = Logger('protevus')
..onRecord.listen((rec) { ..onRecord.listen((rec) {
print(rec); print(rec);
if (rec.error != null) print(rec.error); if (rec.error != null) print(rec.error);

View file

@ -11,7 +11,7 @@ void main() async {
'gzip': gzip.encoder, 'gzip': gzip.encoder,
'deflate': zlib.encoder, 'deflate': zlib.encoder,
}); });
app.logger = Logger('angel')..onRecord.listen(dumpError); app.logger = Logger('protevus')..onRecord.listen(dumpError);
app.get('/', (req, res) => 'Hello HTTP/2!!!'); app.get('/', (req, res) => 'Hello HTTP/2!!!');

View file

@ -7,7 +7,7 @@ import 'package:logging/logging.dart';
void main() async { void main() async {
var app = Protevus(); var app = Protevus();
app.logger = Logger('angel') app.logger = Logger('protevus')
..onRecord.listen((rec) { ..onRecord.listen((rec) {
print(rec); print(rec);
if (rec.error != null) print(rec.error); if (rec.error != null) print(rec.error);

View file

@ -9,7 +9,7 @@ void main() async {
// Create our server. // Create our server.
var app = Protevus( var app = Protevus(
logger: Logger('angel'), logger: Logger('protevus'),
reflector: MirrorsReflector(), reflector: MirrorsReflector(),
); );

View file

@ -9,7 +9,7 @@ void main() async {
// Create our server. // Create our server.
var app = Protevus( var app = Protevus(
logger: Logger('angel'), logger: Logger('protevus'),
reflector: MirrorsReflector(), reflector: MirrorsReflector(),
); );

View file

@ -77,8 +77,8 @@ class Service<Id, Data> extends Routable {
return _app!; return _app!;
} }
set app(Protevus angel) { set app(Protevus protevus) {
_app = angel; _app = protevus;
} }
bool get isAppActive => _app != null; bool get isAppActive => _app != null;

View file

@ -158,13 +158,13 @@ class ProtevusHttp2 extends Driver<Socket, ServerTransportStream,
} }
class _FakeServerSocket extends Stream<Socket> implements ServerSocket { class _FakeServerSocket extends Stream<Socket> implements ServerSocket {
final _ProtevusHttp2ServerSocket angel; final _ProtevusHttp2ServerSocket protevus;
final _ctrl = StreamController<Socket>(); final _ctrl = StreamController<Socket>();
_FakeServerSocket(this.angel); _FakeServerSocket(this.protevus);
@override @override
InternetAddress get address => angel.address; InternetAddress get address => protevus.address;
@override @override
Future<ServerSocket> close() async { Future<ServerSocket> close() async {
@ -173,7 +173,7 @@ class _FakeServerSocket extends Stream<Socket> implements ServerSocket {
} }
@override @override
int get port => angel.port; int get port => protevus.port;
@override @override
StreamSubscription<Socket> listen(void Function(Socket event)? onData, StreamSubscription<Socket> listen(void Function(Socket event)? onData,

View file

@ -83,7 +83,7 @@ void main() {
..listen((HookedServiceEvent event) async { ..listen((HookedServiceEvent event) async {
// Hooks can be Futures ;) // Hooks can be Futures ;)
event.cancel([ event.cancel([
{'angel': 'framework'} {'protevus': 'framework'}
]); ]);
}) })
..listen((HookedServiceEvent event) { ..listen((HookedServiceEvent event) {
@ -93,13 +93,13 @@ void main() {
var response = await client.get(Uri.parse('$url/todos')); var response = await client.get(Uri.parse('$url/todos'));
print(response.body); print(response.body);
var result = json.decode(response.body) as List; var result = json.decode(response.body) as List;
expect(result[0]['angel'], equals('framework')); expect(result[0]['protevus'], equals('framework'));
}); });
test('asStream() fires', () async { test('asStream() fires', () async {
var stream = todoService.afterCreated.asStream(); var stream = todoService.afterCreated.asStream();
await todoService.create({'angel': 'framework'}); await todoService.create({'protevus': 'framework'});
expect(await stream.first.then((e) => e.result['angel']), 'framework'); expect(await stream.first.then((e) => e.result['protevus']), 'framework');
}); });
test('metadata', () async { test('metadata', () async {

View file

@ -33,7 +33,7 @@ void main() {
app = Protevus(reflector: MirrorsReflector()) app = Protevus(reflector: MirrorsReflector())
..encoders['gzip'] = gzip.encoder; ..encoders['gzip'] = gzip.encoder;
hierarchicalLoggingEnabled = true; hierarchicalLoggingEnabled = true;
app.logger = Logger.detached('angel.http2') app.logger = Logger.detached('protevus.http2')
..onRecord.listen((rec) { ..onRecord.listen((rec) {
print(rec); print(rec);
if (rec.error == null) return; if (rec.error == null) return;
@ -53,7 +53,7 @@ void main() {
app.get('/stream', (req, res) => jfkStream().pipe(res)); app.get('/stream', (req, res) => jfkStream().pipe(res));
app.get('/headers', (req, res) async { app.get('/headers', (req, res) async {
res.headers.addAll({'foo': 'bar', 'x-angel': 'http2'}); res.headers.addAll({'foo': 'bar', 'x-protevus': 'http2'});
await res.close(); await res.close();
}); });
@ -184,7 +184,7 @@ void main() {
test('headers sent', () async { test('headers sent', () async {
var response = await client.get(serverRoot.replace(path: '/headers')); var response = await client.get(serverRoot.replace(path: '/headers'));
expect(response.headers['foo'], 'bar'); expect(response.headers['foo'], 'bar');
expect(response.headers['x-angel'], 'http2'); expect(response.headers['x-protevus'], 'http2');
}); });
test('server push', () async { test('server push', () async {
@ -288,7 +288,7 @@ void main() {
rq.fields['foo'] = 'bar'; rq.fields['foo'] = 'bar';
rq.files.add(http.MultipartFile( rq.files.add(http.MultipartFile(
'file', Stream.fromIterable([utf8.encode('hello world')]), 11, 'file', Stream.fromIterable([utf8.encode('hello world')]), 11,
contentType: MediaType('angel', 'framework'))); contentType: MediaType('protevus', 'framework')));
var response = await client.send(rq); var response = await client.send(rq);
var responseBody = await response.stream.transform(utf8.decoder).join(); var responseBody = await response.stream.transform(utf8.decoder).join();
@ -297,7 +297,7 @@ void main() {
responseBody, responseBody,
json.encode([ json.encode([
11, 11,
'angel/framework', 'protevus/framework',
{'foo': 'bar'} {'foo': 'bar'}
])); ]));
}); });

View file

@ -75,4 +75,4 @@
## 1.0.3 ## 1.0.3
* Dart2 fixes * Dart2 fixes
* Apparently fix hangs that break Angel tests * Apparently fix hangs that break Protevus tests

View file

@ -9,7 +9,7 @@
Manufacture dart:io HttpRequests, HttpResponses, HttpHeaders, etc. This makes it possible to test server-side Dart applications without having to ever bind to a port. Manufacture dart:io HttpRequests, HttpResponses, HttpHeaders, etc. This makes it possible to test server-side Dart applications without having to ever bind to a port.
This package was originally designed to make testing [Angel3](https://angel3-framework.web.app/) applications smoother, but works with any Dart-based server. This package was originally designed to make testing [Protevus](https://angel3-framework.web.app/) applications smoother, but works with any Dart-based server.
## Usage ## Usage

View file

@ -1,11 +1,11 @@
# Angel3 Data Model # Protevus Data Model
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_model?include_prereleases) ![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_model?include_prereleases)
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![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) [![Gitter](https://img.shields.io/gitter/room/angel_dart/discussion)](https://gitter.im/angel_dart/discussion)
[![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/model/LICENSE) [![License](https://img.shields.io/github/license/dart-backend/angel)](https://github.com/dart-backend/angel/tree/master/packages/model/LICENSE)
The basic data models for Angel3 framework. The basic data models for Protevus framework.
```dart ```dart
import 'package:angel3_model/angel3_model.dart'; import 'package:angel3_model/angel3_model.dart';

View file

@ -1,6 +1,6 @@
name: platform_model name: platform_model
version: 9.0.0 version: 9.0.0
description: Angel3 basic data model class, no longer with the added weight of the whole framework. description: Protevus basic data model class, no longer with the added weight of the whole framework.
homepage: https://angel3-framework.web.app/ homepage: https://angel3-framework.web.app/
repository: https://github.com/dart-backend/angel/tree/master/packages/model repository: https://github.com/dart-backend/angel/tree/master/packages/model
environment: environment:

View file

@ -1,4 +1,4 @@
# Angel3 Route # Protevus Route
![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_route?include_prereleases) ![Pub Version (including pre-releases)](https://img.shields.io/pub/v/angel3_route?include_prereleases)
[![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety) [![Null Safety](https://img.shields.io/badge/null-safety-brightgreen)](https://dart.dev/null-safety)
@ -9,11 +9,11 @@ A powerful, isomorphic routing library for Dart.
`angel3_route` exposes a routing system that takes the shape of a tree. This tree structure can be easily navigated, in a fashion somewhat similar to a filesystem. The `Router` API is a very straightforward interface that allows for your code to take a shape similar to the route tree. Users of Laravel and Express will be very happy. `angel3_route` exposes a routing system that takes the shape of a tree. This tree structure can be easily navigated, in a fashion somewhat similar to a filesystem. The `Router` API is a very straightforward interface that allows for your code to take a shape similar to the route tree. Users of Laravel and Express will be very happy.
`angel3_route` does not require the use of [Angel 3](https://pub.dev/packages/angel3_framework), and has minimal dependencies. Thus, it can be used in any application, regardless of framework. This includes Web apps, Flutter apps, CLI apps, and smaller servers which do not need all the features of the Angel framework. `angel3_route` does not require the use of [Protevus 3](https://pub.dev/packages/angel3_framework), and has minimal dependencies. Thus, it can be used in any application, regardless of framework. This includes Web apps, Flutter apps, CLI apps, and smaller servers which do not need all the features of the Protevus framework.
## Contents ## Contents
- [Angel3 Route](#angel3-route) - [Protevus Route](#angel3-route)
- [Contents](#contents) - [Contents](#contents)
- [Examples](#examples) - [Examples](#examples)
- [Routing](#routing) - [Routing](#routing)
@ -26,7 +26,7 @@ A powerful, isomorphic routing library for Dart.
### Routing ### Routing
If you use [Angel3](https://pub.dev/packages/angel3_framework), every `Angel` instance is a `Router` in itself. If you use [Protevus](https://pub.dev/packages/angel3_framework), every `Protevus` instance is a `Router` in itself.
```dart ```dart
void main() { void main() {

View file

@ -1,6 +1,6 @@
name: platform_route name: platform_route
version: 9.0.0 version: 9.0.0
description: A powerful, isomorphic routing library for Dart. It is mainly used in the Angel3 framework, but can be used in Flutter and on the Web. description: A powerful, isomorphic routing library for Dart. It is mainly used in the Protevus framework, but can be used in Flutter and on the Web.
homepage: https://angel3-framework.web.app/ homepage: https://angel3-framework.web.app/
repository: https://github.com/dart-backend/angel/tree/master/packages/route repository: https://github.com/dart-backend/angel/tree/master/packages/route
environment: environment:

View file

@ -3,10 +3,10 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Angel Route Samples</title> <title>Protevus Route Samples</title>
</head> </head>
<body> <body>
<h1>Angel Route Samples</h1> <h1>Protevus Route Samples</h1>
<ul> <ul>
<li><a href="hash/basic.html">Hash-based</a></li> <li><a href="hash/basic.html">Hash-based</a></li>
<li><a href="push_state/basic.html">Push-state</a></li> <li><a href="push_state/basic.html">Push-state</a></li>