Patched ResponseContext#isOpen, bump to 1.1.0+3

This commit is contained in:
Tobe O 2017-12-12 13:33:58 -05:00
parent 4657342569
commit c79de1050c
4 changed files with 71 additions and 117 deletions

View file

@ -4,7 +4,7 @@
<list default="true" id="7b89ff1e-1260-4dcf-9c3d-345de0471ea1" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/CHANGELOG.md" afterPath="$PROJECT_DIR$/CHANGELOG.md" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/server.dart" afterPath="$PROJECT_DIR$/lib/src/http/server.dart" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/response_context.dart" afterPath="$PROJECT_DIR$/lib/src/http/response_context.dart" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/pubspec.yaml" afterPath="$PROJECT_DIR$/pubspec.yaml" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
@ -31,18 +31,18 @@
<file leaf-file-name="service.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420">
<caret line="36" column="37" lean-forward="false" selection-start-line="36" selection-start-column="37" selection-end-line="36" selection-end-column="37" />
<state relative-caret-position="120">
<caret line="16" column="17" lean-forward="false" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="pubspec.yaml" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<file leaf-file-name="response_context.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/http/response_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
<state relative-caret-position="44">
<caret line="341" column="7" lean-forward="false" selection-start-line="341" selection-start-column="7" selection-end-line="341" selection-end-column="7" />
<folding />
</state>
</provider>
@ -51,7 +51,7 @@
<file leaf-file-name="map_service.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/http/map_service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<state relative-caret-position="360">
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<folding>
<element signature="e#0#20#0" expanded="true" />
@ -60,11 +60,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="server.dart" pinned="false" current-in-tab="false">
<file leaf-file-name="server.dart" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/lib/src/http/server.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="287">
<caret line="370" column="5" lean-forward="true" selection-start-line="370" selection-start-column="5" selection-end-line="370" selection-end-column="5" />
<state relative-caret-position="366">
<caret line="370" column="5" lean-forward="false" selection-start-line="370" selection-start-column="5" selection-end-line="370" selection-end-column="5" />
<folding>
<element signature="e#38#58#0" expanded="true" />
</folding>
@ -72,19 +72,6 @@
</provider>
</entry>
</file>
<file leaf-file-name="CHANGELOG.md" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="75">
<caret line="5" column="32" lean-forward="false" selection-start-line="5" selection-start-column="32" selection-end-line="5" selection-end-column="32" />
<folding />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="services_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/services_test.dart">
<provider selected="true" editor-type-id="text-editor">
@ -134,7 +121,7 @@
<file leaf-file-name="all.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/all.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<state relative-caret-position="465">
<caret line="31" column="33" lean-forward="false" selection-start-line="31" selection-start-column="33" selection-end-line="31" selection-end-column="33" />
<folding>
<element signature="e#0#38#0" expanded="true" />
@ -155,7 +142,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>list</find>
<find>sendRes</find>
<find>handleRequ</find>
<find>sendRespon</find>
@ -185,6 +171,7 @@
<find>testing</find>
<find>cache</find>
<find>errorHan</find>
<find>addStre</find>
</findStrings>
<replaceStrings>
<replace>_isClosed</replace>
@ -265,7 +252,6 @@
<option value="$PROJECT_DIR$/lib/src/util/forwarded_server.dart" />
<option value="$PROJECT_DIR$/lib/src/http/forwarded_server.dart" />
<option value="$PROJECT_DIR$/test/controller_test.dart" />
<option value="$PROJECT_DIR$/lib/src/http/response_context.dart" />
<option value="$PROJECT_DIR$/lib/src/util.dart" />
<option value="$PROJECT_DIR$/lib/src/http/routable.dart" />
<option value="$PROJECT_DIR$/test/di_test.dart" />
@ -280,8 +266,9 @@
<option value="$PROJECT_DIR$/lib/src/http/service.dart" />
<option value="$PROJECT_DIR$/lib/src/http/map_service.dart" />
<option value="$PROJECT_DIR$/lib/src/http/server.dart" />
<option value="$PROJECT_DIR$/CHANGELOG.md" />
<option value="$PROJECT_DIR$/pubspec.yaml" />
<option value="$PROJECT_DIR$/lib/src/http/response_context.dart" />
<option value="$PROJECT_DIR$/CHANGELOG.md" />
</list>
</option>
</component>
@ -315,7 +302,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="AndroidView" />
<pane id="Scope">
<subPane subId="Project Files">
<expand>
@ -348,6 +334,7 @@
<pane id="ProjectPane" />
<pane id="Scratches" />
<pane id="PackagesPane" />
<pane id="AndroidView" />
</panes>
</component>
<component name="PropertiesComponent">
@ -685,7 +672,9 @@
<workItem from="1511749291765" duration="8015000" />
<workItem from="1512570822083" duration="1079000" />
<workItem from="1512882177311" duration="187000" />
<workItem from="1513103172812" duration="146000" />
<workItem from="1513103172812" duration="165000" />
<workItem from="1513103483207" duration="18000" />
<workItem from="1513103506825" duration="121000" />
</task>
<task id="LOCAL-00001" summary="Re-designed exception">
<created>1481237183504</created>
@ -1002,16 +991,20 @@
<option name="project" value="LOCAL" />
<updated>1512882359925</updated>
</task>
<option name="localTasksCounter" value="46" />
<task id="LOCAL-00046" summary="Patched handleAngelHttpException, bump to 1.1.0+2">
<created>1513103332618</created>
<option name="number" value="00046" />
<option name="presentableId" value="LOCAL-00046" />
<option name="project" value="LOCAL" />
<updated>1513103332618</updated>
</task>
<option name="localTasksCounter" value="47" />
<servers />
</component>
<component name="TestHistory">
<history-entry file="All_Tests - 2017.12.12 at 13h 27m 57s.xml">
<history-entry file="All_Tests - 2017.12.12 at 13h 32m 53s.xml">
<configuration name="All Tests" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="All_Tests_(PRODUCTION) - 2017.11.28 at 13h 12m 22s.xml">
<configuration name="All Tests (PRODUCTION)" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="All_Tests_(PRODUCTION) - 2017.11.28 at 13h 12m 52s.xml">
<configuration name="All Tests (PRODUCTION)" configurationId="DartTestRunConfigurationType" />
</history-entry>
@ -1024,6 +1017,9 @@
<history-entry file="All_Tests_(PRODUCTION) - 2017.12.12 at 13h 28m 22s.xml">
<configuration name="All Tests (PRODUCTION)" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="All_Tests_(PRODUCTION) - 2017.12.12 at 13h 33m 34s.xml">
<configuration name="All Tests (PRODUCTION)" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="only_match_route_with_matching_method_in_routing_test_dart - 2017.11.28 at 13h 05m 10s.xml">
<configuration name="only match route with matching method in routing_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry>
@ -1038,7 +1034,7 @@
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="117002000" />
<option name="totallyTimeSpent" value="117160000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@ -1067,7 +1063,7 @@
<window_info id="Terminal" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.48005697" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2435275" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20550162" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="ANTLR Preview" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
@ -1094,7 +1090,6 @@
<option name="myLimit" value="2678400000" />
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="1.0.6" />
<MESSAGE value="Add stackTrace" />
<MESSAGE value="1.0.6+2" />
<MESSAGE value="Added RequestContext.accepts" />
@ -1119,7 +1114,8 @@
<MESSAGE value="1.0.11" />
<MESSAGE value="Close #178, bump to 1.1.0" />
<MESSAGE value="Patched _matchesId, bump to 1.1.0+1" />
<option name="LAST_COMMIT_MESSAGE" value="Patched _matchesId, bump to 1.1.0+1" />
<MESSAGE value="Patched handleAngelHttpException, bump to 1.1.0+2" />
<option name="LAST_COMMIT_MESSAGE" value="Patched handleAngelHttpException, bump to 1.1.0+2" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
@ -1358,13 +1354,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/response_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="26">
<caret line="142" column="9" lean-forward="false" selection-start-line="142" selection-start-column="9" selection-end-line="142" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-254">
@ -1409,7 +1398,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/test/all.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<state relative-caret-position="465">
<caret line="31" column="33" lean-forward="false" selection-start-line="31" selection-start-column="33" selection-end-line="31" selection-end-column="33" />
<folding>
<element signature="e#0#38#0" expanded="true" />
@ -1456,17 +1445,9 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="420">
<caret line="36" column="37" lean-forward="false" selection-start-line="36" selection-start-column="37" selection-end-line="36" selection-end-column="37" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/map_service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="330">
<state relative-caret-position="360">
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
<folding>
<element signature="e#0#20#0" expanded="true" />
@ -1474,32 +1455,48 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/server.dart">
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="287">
<caret line="370" column="5" lean-forward="true" selection-start-line="370" selection-start-column="5" selection-end-line="370" selection-end-column="5" />
<folding>
<element signature="e#38#58#0" expanded="true" />
</folding>
<state relative-caret-position="75">
<caret line="5" column="12" lean-forward="true" selection-start-line="5" selection-start-column="12" selection-end-line="5" selection-end-column="12" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="16" column="17" lean-forward="false" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="17" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/response_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="44">
<caret line="341" column="7" lean-forward="false" selection-start-line="341" selection-start-column="7" selection-end-line="341" selection-end-column="7" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CHANGELOG.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="75">
<caret line="5" column="32" lean-forward="false" selection-start-line="5" selection-start-column="32" selection-end-line="5" selection-end-column="32" />
<first_editor relative-caret-position="15">
<caret line="1" column="74" lean-forward="false" selection-start-line="1" selection-start-column="74" selection-end-line="1" selection-end-column="74" />
<folding />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<entry file="file://$PROJECT_DIR$/lib/src/http/server.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
<folding />
<state relative-caret-position="366">
<caret line="370" column="5" lean-forward="false" selection-start-line="370" selection-start-column="5" selection-end-line="370" selection-end-column="5" />
<folding>
<element signature="e#38#58#0" expanded="true" />
</folding>
</state>
</provider>
</entry>

View file

@ -1,3 +1,6 @@
# 1.1.0+3
* Modified `ResponseContext#isOpen` to also return `false` if streaming is being used.
# 1.1.0+2
* Modified `handleAngelHttpException` to only run rescue code
if the response is still open. Prevents application crashes.
@ -51,49 +54,3 @@ if the response is still open. Prevents application crashes.
* Removed `AngelFatalError`, and subsequently `fatalErrorStream`.
* Removed all `@deprecated` members.
* Removed `@Hooked`, `beforeProcessed`, and `afterProcessed`.
# 1.0.10
* Closed [#162](https://github.com/angel-dart/framework/issues/162), fixing a caching bug
that would cause multiple requests to the same URL to fail.
* Resolved dependency injection of primitives (namely `String`), no longer triggering
errors about `String has no constructor`, etc.
# 1.0.9
* Closed [#161](https://github.com/angel-dart/framework/issues/161). `addCreated`/`addUpdatedAt` no longer
crash when `serialize` is `false`.
* Added an explicit on `charcode`, `path`, and others. Resolves
[#160](https://github.com/angel-dart/framework/issues/160).
* `ResponseContext` now implements `StreamSink<List<int>`, so data can be streamed directly to the
underlying response.
* You can now inject `encoders` into a `ResponseContext`, which takes care of `Accept-Encoding`.
This will ultimately replace `package:angel_compress`.
Resolves [#159](https://github.com/angel-dart/framework/issues/159).
# 1.0.8
* Changed `req.query` to use a modifiable Map if the body has not parsed. Resolves
[#157](https://github.com/angel-dart/framework/issues/157).
* Changed all constants to `camelCase`, and deprecated their `CONSTANT_CASE` counterparts. Resolves
[#155](https://github.com/angel-dart/framework/issues/155).
* Resolved [#156](https://github.com/angel-dart/framework/issues/156) by adding a `graphql` provider.
* Added an `analysis-options.yaml` enabling strong mode. Preparing for Dart 2.0.
* Added a dependency on `package:meta`, resolving [#154](https://github.com/angel-dart/framework/issues/154),
and added corresponding annotations to make extending Angel easier.
* Resolved [#158](https://github.com/angel-dart/framework/issues/158) by using proper `StreamController`
patterns, to prevent memory leaks.
* Route handler sequences are now cached in a Map, so repeat requests will be resolved faster.
* A message is no longer printed in production mode.
* Removed the inheritance on `Extensible` in many classes, and removed it from `angel_route`.
Now, only `Angel` and `RequestContext` have `@proxy` annotations.
* Deprecated passing `debug` to Angel.
* `_LockableBytesBuilder` now uses `Uint8List`.
* Removed `reopen` from `ResponseContext`.
# 1.0.7+2
Changed `ResponseContext.serialize`. The `contentType` is now set *before* serialization.
# 1.0.7+1
Moved the `Model` class into `package:angel_model`. No functionality was added or removed.
# 1.0.7
Added an `accepts` method to `RequestContext`. It's now a lot easier to tell which content types the
user accepts via the `Accept` header.

View file

@ -84,7 +84,7 @@ class ResponseContext implements StreamSink<List<int>>, StringSink {
}
/// Can we still write to this response?
bool get isOpen => _isOpen;
bool get isOpen => _isOpen && !_isClosed;
/// A set of UTF-8 encoded bytes that will be written to the response.
BytesBuilder get buffer => _buffer;

View file

@ -1,5 +1,5 @@
name: angel_framework
version: 1.1.0+2
version: 1.1.0+3
description: A high-powered HTTP server with DI, routing and more.
author: Tobe O <thosakwe@gmail.com>
homepage: https://github.com/angel-dart/angel_framework