angel_framework 2.0.0-alpha.23
angel_framework: ^2.0.0-alpha.23 copied to clipboard
A high-powered HTTP server with dependency injection, routing and much more.
2.0.0-alpha.23 #
ResponseContext.rendersetscharsettoutf8incontentType.
2.0.0-alpha.22 #
- Update pipeline handling mechanism, and inject a
MiddlewarePipelineIterator.- This allows routes to know where in the resolution process they exist, at runtime.
2.0.0-alpha.21 #
- Update for
[email protected]compatibility. - Add
readAsBytesandreadAsStringtoUploadedFile. - URI-decode path components in HTTP2.
2.0.0-alpha.20 #
- Inject the
MiddlewarePipelineinto requests.
2.0.0-alpha.19 #
parseBodychecks for null content type, and throws a400if none was given.- Add
ResponseContext.contentLength. - Update
streamFileto set content length, and also to work onHEADrequests.
2.0.0-alpha.18 #
- Upgrade
http2dependency. - Upgrade
uuiddependency. - Fixed a bug that prevented body parsing from ever completing with
http2. - Add
Providers.hashCode.
2.0.0-alpha.17 #
- Revert the migration to
lumberjackfor now. In the future, when it's more stable, there'll be a conversion, perhaps.
2.0.0-alpha.16 #
- Use
package:lumberjackfor logging.
2.0.0-alpha.15 #
- Remove dependency on
body_parser. RequestContextnow exposes aStream<List<int>> get bodygetter.- Calling
RequestContext.parseBody()parses its contents. - Added
bodyAsMap,bodyAsList,bodyAsObject, anduploadedFilestoRequestContext. - Removed
Angel.keepRawRequestBuffersand anything that had to do with buffering request bodies.
- Calling
2.0.0-alpha.14 #
- Patch
HttpResponseContext._openStreamto send content-length.
2.0.0-alpha.13 #
- Fixed a logic error in
HttpResponseContextthat prevented status codes from being sent.
2.0.0-alpha.12 #
- Remove
ResponseContext.sendFile. - Add
Angel.mimeTypeResolver. - Fix a bug where an unknown MIME type on
streamFilewould return a 500.
2.0.0-alpha.11 #
- Add
readManytoService. - Allow
ResponseContext.redirectto take aUri. - Add
Angel.mountController. - Add
Angel.findServiceOf. - Roll in HTTP/2. See
pkg:angel_framework/http2.dart.
2.0.0-alpha.10 #
- All calls to
Service.parseIdare now affixed with the<Id>argument. - Added
urigetter toAngelHttp. - The default for
parseQuerynow wraps query parameters innew Map<String, dynamic>.from. This resolves a bug inpackage:angel_validate.
2.0.0-alpha.9 #
- Add
Service.map.
2.0.0-alpha.8 #
- No longer export HTTP-specific code from
angel_framework.dart. An import ofimport 'package:angel_framework/http.dart';will be necessary in most cases now.
2.0.0-alpha.7 #
- Force a tigher contract on services. They now must return
Dataon all methods except forindex, which returns aList<Data>.
2.0.0-alpha.6 #
- Allow passing a custom
ContainertohandleContainedand co.
2.0.0-alpha.5 #
MapServicemethods now explicitly returnMap<String, dynamic>.
2.0.0-alpha.4 #
- Renamed
waterfalltochain. - Renamed
Routable.servicetoRoutable.findService.- Also
Routable.findHookedService.
- Also
2.0.0-alpha.3 #
- Added
<Id, Data>type parameters toService. HookedServicenow follows suit, and takes a third parameter, pointing to the inner service.Routable.usenow uses the generic parameters added toService.- Added generic usage to
HookedServiceListener, etc. - All service methods take
Map<String, dynamic>asparamsnow.
2.0.0-alpha.2 #
- Added
ResponseContext.detach.
2.0.0-alpha.1 #
- Removed
Angel.injectEncoders. - Added
Providers.toJson. - Moved
Providers.graphqltoProviders.graphQL. Angel.optimizeForProductionno longer callspreInject, as it does not need to.- Rename
ResponseContext.enableBuffertoResponseContext.useBuffer.
2.0.0-alpha #
- Removed
random_stringdependency. - Moved reflection to
package:angel_container. - Upgraded
package:fileto5.0.0. ResponseContext.sendFilenow usespackage:file.- Abandon
ContentTypein favor ofMediaType. - Changed view engine to use
Map<String, dynamic>. - Remove dependency on
package:json_godby default. - Remove dependency on
package:dart2_constant. - Moved
lib/hooks.dartintopackage:angel_hooks. - Moved
TypedServiceintopackage:angel_typed_service. - Completely removed the
AngelBaseclass. - Removed all
@deprecatedsymbols. Service.toIdwas renamed toService.parseId; it also now uses its single type argument to determine how to parse a value. * In addition, this method was also madestatic.RequestContextandResponseContextare now generic, and take a single type argument pointing to the underlying request/response type, respectively.RequestContext.ioandResponseContext.ioare now permanently gone.HttpRequestContextImplandHttpResponseContextImplwere renamed toHttpRequestContextandHttpResponseContext.- Lazy-parsing request bodies is now the default;
Angel.lazyParseBodieswas replaced withAngel.eagerParseRequestBodies. Angel.storeOriginalBuffer->Angel.storeRawRequestBuffers.- The methods
lazyBody,lazyFiles, andlazyOriginalBufferonResponseContextwere all replaced withparseBody,parseUploadedFiles, andparseRawRequestBuffer, respectively. - Removed the synchronous equivalents of the above methods (
body,files, andoriginalBuffer), as well asquery. - Removed
Angel.injectionsandRequestContext.injections. - Removed
Angel.injectandRequestContext.inject. - Removed a dependency on
package:pool, which also meant removingAngelHttp.throttle. - Remove the
RequestMiddlewaretypedef; from now on, one should useResponseContext.endexclusively to close responses. waterfallwill now only acceptRequestHandler.Routable, and all of its subclasses, now extendRouter<RequestHandler>, and therefore only take routes in the form ofFutureOr myFunc(RequestContext, ResponseContext res).@Middlewarenow takes anIterableofRequestHandlers.@Expose.pathnow must be aString, not just anyPattern.@Expose.middlewarenow takesIterable<RequestHandler>, instead of justList.createDynamicHandlerwas renamed toioc, and is now used to run IoC-aware handlers in a type-safe manner.RequestContext.paramsis now aMap<String, dynamic>, rather than just aMap.- Removed
RequestContext.grab. - Removed
RequestContext.properties. - Removed the defunct
debugproperty where it still existed. Routable.usenow only accepts aService.- Removed
Angel.createZoneForRequest. - Removed
Angel.defaultZoneCreator. - Added all flags to the
Angelconstructor, ex.Angel.eagerParseBodies. - Fix a bug where synchronous errors in
handleRequestwould not be caught. AngelHttp.useZonenow defaults tofalse.ResponseContextnow starts in streaming mode by default; the response buffer is opt-in, as in many cases it is unnecessary and slows down response time.ResponseContext.streamingwas replaced byResponseContext.isBuffered.- Made
LockableBytesBuilderpublic. - Removed the now-obsolete
ResponseContext.willCloseItself. - Removed
ResponseContext.dispose. - Removed the now-obsolete
ResponseContext.end. - Removed the now-obsolete
ResponseContext.releaseCorrespondingRequest. preInjectnow takes aReflectoras its second argument.Angel.reflectordefaults toconst EmptyReflector(), disabling reflection out-of-the-box.