This commit is contained in:
Tobe O 2018-06-22 23:59:41 -04:00
parent 5d851b6cde
commit 4e6d280b8f
20 changed files with 169 additions and 275 deletions

View file

@ -12,7 +12,7 @@
<entry key="angel_http_exception">
<value>
<list>
<option value="$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0/lib" />
<option value="$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0+1/lib" />
</list>
</value>
</entry>
@ -496,7 +496,7 @@
</properties>
<CLASSES>
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/analyzer-0.32.1/lib" />
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0/lib" />
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0+1/lib" />
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_jael-1.0.1/lib" />
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_model-1.0.0/lib" />
<root url="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_route-2.0.7/lib" />

View file

@ -1,43 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="7b89ff1e-1260-4dcf-9c3d-345de0471ea1" name="Default" comment="Fix hooking bug">
<list default="true" id="7b89ff1e-1260-4dcf-9c3d-345de0471ea1" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Dart_Packages.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CHANGELOG.md" beforeDir="false" afterPath="$PROJECT_DIR$/CHANGELOG.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/analysis_options.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/analysis_options.yaml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/hooks.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/hooks.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/metrics.dart" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/anonymous_service.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/anonymous_service.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/hooked_service.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/hooked_service.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/injection.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/injection.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/map_service.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/map_service.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/request_context.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/request_context.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/response_context.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/response_context.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/routable.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/routable.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/server.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/server.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/service.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/service.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/core/typed_service.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/core/typed_service.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/http/angel_http.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/http/angel_http.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/http/controller.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/http/controller.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/http/http_request_context.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/http/http_request_context.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/http/http_response_context.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/http/http_response_context.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/stats/metric_server.dart" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/stats/stats.dart" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/lib/src/util.dart" beforeDir="false" afterPath="$PROJECT_DIR$/lib/src/util.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/accepts_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/accepts_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/controller_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/controller_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/di_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/di_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/exception_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/exception_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/hooked_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/hooked_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/parameter_meta_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/parameter_meta_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/primitives_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/primitives_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/routing_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/routing_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/serialize_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/serialize_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/server_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/server_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/services_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/services_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/streaming_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/streaming_test.dart" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/typed_service_test.dart" beforeDir="false" afterPath="$PROJECT_DIR$/test/typed_service_test.dart" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" />
@ -60,95 +27,20 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="hooked_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/hooked_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="127" column="57" selection-start-line="127" selection-start-column="57" selection-end-line="127" selection-end-column="57" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="parameter_meta_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/parameter_meta_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="32">
<state relative-caret-position="-504">
<caret line="2" column="54" selection-start-line="2" selection-start-column="54" selection-end-line="2" selection-end-column="54" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="server_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/server_test.dart">
<file leaf-file-name="injection.dart" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/lib/src/core/injection.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<caret line="193" column="41" selection-start-line="193" selection-start-column="41" selection-end-line="193" selection-end-column="41" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="routing_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/routing_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="120">
<caret line="120" column="39" selection-start-line="120" selection-start-column="39" selection-end-line="120" selection-end-column="39" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="typed_service_test.dart" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/test/typed_service_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="109">
<caret line="26" column="39" selection-start-line="26" selection-start-column="39" selection-end-line="26" selection-end-column="39" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="serialize_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/serialize_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<caret line="17" column="71" selection-start-line="17" selection-start-column="71" selection-end-line="17" selection-end-column="71" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="accepts_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/accepts_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret column="20" selection-start-column="20" selection-end-column="20" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="controller.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<caret line="97" column="49" selection-start-line="97" selection-start-column="49" selection-end-line="97" selection-end-column="49" />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="exception_test.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/test/exception_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="17" column="27" lean-forward="true" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
<folding>
<element signature="e#1#55#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="angel_http_exception.dart" pinned="false" current-in-tab="false">
<entry file="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0/lib/angel_http_exception.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="142">
<caret line="51" column="61" selection-start-line="51" selection-start-column="61" selection-end-line="51" selection-end-column="61" />
<state relative-caret-position="283">
<caret line="146" column="58" selection-start-line="146" selection-start-column="58" selection-end-line="146" selection-end-column="58" />
</state>
</provider>
</entry>
@ -165,17 +57,15 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>execute</find>
<find>lazyBod</find>
<find>lazyBody()</find>
<find>addRout</find>
<find>lazyBody</find>
<find>_body = nu</find>
<find />
<find>_body</find>
<find>MID</find>
<find>beforeIndex</find>
<find>read(</find>
<find>new Trac</find>
<find />
<find>frame</find>
<find>logger.</find>
<find>Stopwa</find>
@ -190,24 +80,26 @@
<find>HttpStatus.</find>
<find>JSON</find>
<find>ContentType.JSON.toString()</find>
<find>(req, res)</find>
<find>headers: headers,</find>
<find />
<find />
<find>_</find>
<find>ContentType.HTML.mimeType</find>
<find>ContentType.JSON.mimeType</find>
<find>parameters</find>
<find />
</findStrings>
<replaceStrings>
<replace>after</replace>
<replace>fatalErrorStream</replace>
<replace>onController</replace>
<replace>if (_isClosed &amp;&amp; !_useStream)</replace>
<replace />
<replace>logger?.warning</replace>
<replace>JSON.decode</replace>
<replace>query</replace>
<replace>cookie</replace>
<replace>req.path</replace>
<replace>req.path`</replace>
<replace>autoSnakeCaseNames == false ? $0 : '$1ated_at'</replace>
<replace />
<replace>appa</replace>
<replace>isClosed</replace>
<replace>useStream</replace>
@ -215,15 +107,15 @@
<replace>!isOpen</replace>
<replace>'server'</replace>
<replace>FutureOr</replace>
<replace>var body = await getBody(rs);</replace>
<replace />
<replace />
<replace>=</replace>
<replace>{</replace>
<replace>'accept'</replace>
<replace>'content-type'</replace>
<replace>403</replace>
<replace>(RequestContext req, res)</replace>
<replace>headers: headers.cast&lt;String, String&gt;(),</replace>
<replace />
<replace />
<replace>this.</replace>
<replace>'text/html'</replace>
<replace>'application/json'</replace>
@ -266,7 +158,6 @@
<option value="$PROJECT_DIR$/performance/hello/main.dart" />
<option value="$PROJECT_DIR$/example/templating.dart" />
<option value="$PROJECT_DIR$/example/views/index.jl" />
<option value="$PROJECT_DIR$/pubspec.yaml" />
<option value="$PROJECT_DIR$/analysis_options.yaml" />
<option value="$PROJECT_DIR$/lib/src/http/http_request_context.dart" />
<option value="$PROJECT_DIR$/lib/src/stats/stats.dart" />
@ -276,14 +167,12 @@
<option value="$PROJECT_DIR$/lib/src/core/server.dart" />
<option value="$PROJECT_DIR$/lib/src/http/http_response_context.dart" />
<option value="$PROJECT_DIR$/lib/src/stats/metric_server.dart" />
<option value="$PROJECT_DIR$/CHANGELOG.md" />
<option value="$PROJECT_DIR$/lib/src/util.dart" />
<option value="$PROJECT_DIR$/test/primitives_test.dart" />
<option value="$PROJECT_DIR$/test/services_test.dart" />
<option value="$PROJECT_DIR$/test/streaming_test.dart" />
<option value="$PROJECT_DIR$/lib/hooks.dart" />
<option value="$PROJECT_DIR$/lib/src/core/anonymous_service.dart" />
<option value="$PROJECT_DIR$/lib/src/core/injection.dart" />
<option value="$PROJECT_DIR$/lib/src/core/request_context.dart" />
<option value="$PROJECT_DIR$/lib/src/core/routable.dart" />
<option value="$PROJECT_DIR$/lib/src/core/map_service.dart" />
@ -301,6 +190,9 @@
<option value="$PROJECT_DIR$/test/routing_test.dart" />
<option value="$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0/lib/angel_http_exception.dart" />
<option value="$PROJECT_DIR$/test/typed_service_test.dart" />
<option value="$PROJECT_DIR$/pubspec.yaml" />
<option value="$PROJECT_DIR$/CHANGELOG.md" />
<option value="$PROJECT_DIR$/lib/src/core/injection.dart" />
</list>
</option>
</component>
@ -314,10 +206,10 @@
<packageJsonPaths />
</component>
<component name="ProjectFrameBounds">
<option name="x" value="26" />
<option name="y" value="22" />
<option name="width" value="1326" />
<option name="height" value="772" />
<option name="x" value="90" />
<option name="y" value="23" />
<option name="width" value="1282" />
<option name="height" value="784" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="2" id="Add" />
@ -345,6 +237,13 @@
<item name="lib" type="cbb8eebc:String" user="lib" />
<item name="src" type="cbb8eebc:String" user="src" />
</path>
<path>
<item name="Root" type="cbb8eebc:String" user="Root" />
<item name="framework" type="cbb8eebc:String" user="framework" />
<item name="lib" type="cbb8eebc:String" user="lib" />
<item name="src" type="cbb8eebc:String" user="src" />
<item name="core" type="cbb8eebc:String" user="core" />
</path>
<path>
<item name="Root" type="cbb8eebc:String" user="Root" />
<item name="framework" type="cbb8eebc:String" user="framework" />
@ -398,7 +297,7 @@
</list>
</option>
</component>
<component name="RunManager" selected="Dart Command Line App.main.dart">
<component name="RunManager" selected="Dart Test.tests in extension_test.dart">
<configuration name="Can serialize function result as JSON in routing_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
<option name="filePath" value="$PROJECT_DIR$/test/routing_test.dart" />
<option name="scope" value="GROUP_OR_TEST_BY_NAME" />
@ -678,14 +577,8 @@
<workItem from="1529523346006" duration="682000" />
<workItem from="1529713102021" duration="161000" />
<workItem from="1529722767717" duration="59000" />
<workItem from="1529722829709" duration="1693000" />
</task>
<task id="LOCAL-00040" summary="autoIdAndDateFields in MapService">
<created>1511026951368</created>
<option name="number" value="00040" />
<option name="presentableId" value="LOCAL-00040" />
<option name="project" value="LOCAL" />
<updated>1511026951368</updated>
<workItem from="1529722829709" duration="1759000" />
<workItem from="1529724977574" duration="1313000" />
</task>
<task id="LOCAL-00041" summary="+8">
<created>1511026990202</created>
@ -1023,16 +916,17 @@
<option name="project" value="LOCAL" />
<updated>1529523884121</updated>
</task>
<option name="localTasksCounter" value="89" />
<task id="LOCAL-00089" summary="+5">
<created>1529724578292</created>
<option name="number" value="00089" />
<option name="presentableId" value="LOCAL-00089" />
<option name="project" value="LOCAL" />
<updated>1529724578293</updated>
</task>
<option name="localTasksCounter" value="90" />
<servers />
</component>
<component name="TestHistory">
<history-entry file="can_fetch_data_in_services_test_dart - 2018.06.08 at 02h 53m 25s.xml">
<configuration name="can fetch data in services_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="can_fetch_data_in_services_test_dart - 2018.06.08 at 02h 54m 45s.xml">
<configuration name="can fetch data in services_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="All_Tests - 2018.06.08 at 02h 54m 57s.xml">
<configuration name="All Tests" configurationId="DartTestRunConfigurationType" />
</history-entry>
@ -1057,9 +951,15 @@
<history-entry file="All_Tests - 2018.06.20 at 15h 44m 03s.xml">
<configuration name="All Tests" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="tests_in_extension_test_dart - 2018.06.22 at 23h 46m 08s.xml">
<configuration name="tests in extension_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry>
<history-entry file="tests_in_extension_test_dart - 2018.06.22 at 23h 57m 51s.xml">
<configuration name="tests in extension_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="151785000" />
<option name="totallyTimeSpent" value="153164000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@ -1071,7 +971,7 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="26" y="22" width="1326" height="772" extended-state="0" />
<frame x="0" y="0" width="1440" height="900" extended-state="0" />
<editor active="true" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
@ -1090,28 +990,28 @@
<window_info id="UI Designer" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39857143" />
<window_info anchor="bottom" id="TODO" order="6" weight="0.32714286" />
<window_info anchor="bottom" id="Messages" order="7" weight="0.33481482" />
<window_info anchor="bottom" id="Messages" order="7" weight="0.33478895" />
<window_info anchor="right" id="Palette&#9;" order="3" />
<window_info id="Image Layers" order="2" />
<window_info anchor="right" id="Capture Analysis" order="3" />
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.4964476" weight="0.4" />
<window_info anchor="bottom" id="Version Control" order="7" weight="0.32905984" />
<window_info anchor="bottom" id="Terminal" order="7" visible="true" weight="0.48" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.27024922" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32905984" />
<window_info anchor="bottom" id="Run" order="2" sideWeight="0.4964476" weight="0.3987879" />
<window_info active="true" anchor="bottom" id="Terminal" order="7" visible="true" weight="0.3927273" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.24248926" />
<window_info anchor="right" id="SciView" order="4" />
<window_info anchor="right" id="Theme Preview" order="3" />
<window_info id="Favorites" order="3" side_tool="true" />
<window_info anchor="right" id="Flutter Inspector" order="4" />
<window_info anchor="bottom" id="DB Execution Console" order="8" />
<window_info anchor="right" id="Coverage" order="3" side_tool="true" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info id="DB Browser" order="2" weight="0.32998413" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32905984" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Data View" order="4" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="right" id="Data View" order="4" />
</layout>
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -1122,7 +1022,6 @@
</component>
<component name="VcsManagerConfiguration">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<MESSAGE value="Change return type of `AngelHttp.createRequestContext`" />
<MESSAGE value="Deprecated `ResponseContext.io`, added HTTP equivalent" />
<MESSAGE value="Removed `HttpHeaders` in `ResponseContext`" />
<MESSAGE value="Deprecated AngelMetrics" />
@ -1147,7 +1046,8 @@
<MESSAGE value="1.1.4+2" />
<MESSAGE value="Fix async bugs" />
<MESSAGE value="Fix hooking bug" />
<option name="LAST_COMMIT_MESSAGE" value="Fix hooking bug" />
<MESSAGE value="+5" />
<option name="LAST_COMMIT_MESSAGE" value="+5" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
@ -1294,16 +1194,6 @@
</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="32">
<caret line="2" column="33" selection-start-line="2" selection-start-column="33" selection-end-line="2" selection-end-column="33" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/util.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="336">
@ -1311,20 +1201,8 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/stats/stats.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168">
<caret line="33" column="21" lean-forward="true" selection-start-line="33" selection-start-column="21" selection-end-line="33" selection-end-column="21" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/stats/metric_server.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1152">
<caret line="76" column="11" selection-start-line="76" selection-start-column="11" selection-end-line="76" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/stats/stats.dart" />
<entry file="file://$PROJECT_DIR$/lib/src/stats/metric_server.dart" />
<entry file="file://$PROJECT_DIR$/test/primitives_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="256">
@ -1367,13 +1245,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/core/injection.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<caret line="79" column="40" selection-start-line="79" selection-start-column="40" selection-end-line="79" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/core/request_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="293">
@ -1412,13 +1283,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="224">
<caret line="14" column="19" lean-forward="true" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/di_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="408">
@ -1456,29 +1320,53 @@
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/controller.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<state relative-caret-position="1488">
<caret line="97" column="49" selection-start-line="97" selection-start-column="49" selection-end-line="97" selection-end-column="49" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/parameter_meta_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="32">
<caret line="2" column="54" selection-start-line="2" selection-start-column="54" selection-end-line="2" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/serialize_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<state relative-caret-position="224">
<caret line="17" column="71" selection-start-line="17" selection-start-column="71" selection-end-line="17" selection-end-column="71" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/server_test.dart">
<entry file="file://$PROJECT_DIR$/test/exception_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="146">
<caret line="193" column="41" selection-start-line="193" selection-start-column="41" selection-end-line="193" selection-end-column="41" />
<state relative-caret-position="224">
<caret line="17" column="27" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0/lib/angel_http_exception.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="816">
<caret line="51" column="61" selection-start-line="51" selection-start-column="61" selection-end-line="51" selection-end-column="61" />
</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="16">
<caret line="1" column="53" selection-start-line="1" selection-start-column="53" selection-end-line="1" selection-end-column="53" />
</first_editor>
<second_editor />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/pubspec.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="240">
<caret line="15" column="24" lean-forward="true" selection-start-line="15" selection-start-column="24" selection-end-line="15" selection-end-column="24" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/typed_service_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="109">
<caret line="26" column="39" selection-start-line="26" selection-start-column="39" selection-end-line="26" selection-end-column="39" />
</state>
</provider>
</entry>
@ -1489,27 +1377,24 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/exception_test.dart">
<entry file="file://$PROJECT_DIR$/test/server_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="17" column="27" lean-forward="true" selection-start-line="17" selection-start-column="27" selection-end-line="17" selection-end-column="27" />
<folding>
<element signature="e#1#55#0" expanded="true" />
</folding>
<state relative-caret-position="146">
<caret line="193" column="41" selection-start-line="193" selection-start-column="41" selection-end-line="193" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/.pub-cache/hosted/pub.dartlang.org/angel_http_exception-1.0.0/lib/angel_http_exception.dart">
<entry file="file://$PROJECT_DIR$/test/parameter_meta_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="142">
<caret line="51" column="61" selection-start-line="51" selection-start-column="61" selection-end-line="51" selection-end-column="61" />
<state relative-caret-position="-504">
<caret line="2" column="54" selection-start-line="2" selection-start-column="54" selection-end-line="2" selection-end-column="54" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/typed_service_test.dart">
<entry file="file://$PROJECT_DIR$/lib/src/core/injection.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="109">
<caret line="26" column="39" selection-start-line="26" selection-start-column="39" selection-end-line="26" selection-end-column="39" />
<state relative-caret-position="283">
<caret line="146" column="58" selection-start-line="146" selection-start-column="58" selection-end-line="146" selection-end-column="58" />
</state>
</provider>
</entry>

View file

@ -1,3 +1,7 @@
# 1.1.4+6
* Almost 100% working with `2.0.0-dev.64.1`. In said version
of Dart, `dart:mirrors` is broken, and therefore breaks detection of metadata.
# 1.1.4+5
* Intermediary release while patching up Dart 2 bugs.
* Stricter Dart 2 use.

View file

@ -1 +1 @@
export 'src/http/http.dart';
export 'src/http/http.dart';

View file

@ -8,4 +8,4 @@ export 'response_context.dart';
export 'routable.dart';
export 'server.dart';
export 'service.dart';
export 'typed_service.dart';
export 'typed_service.dart';

View file

@ -151,6 +151,7 @@ InjectionRequest preInject(Function handler) {
.firstWhere((m) => m.type.isAssignableTo(_Parameter),
orElse: () => null)
?.reflectee as Parameter;
print(p);
if (p != null) {
injection.parameters[name] = new Parameter(
cookie: p.cookie,

View file

@ -218,8 +218,9 @@ abstract class ResponseContext implements StreamSink<List<int>>, StringSink {
if (!isOpen) throw closed();
headers
..['content-type'] = 'text/html'
..['location'] =
url is String ? url : app.navigate(url as Iterable, absolute: absolute);
..['location'] = url is String
? url
: app.navigate(url as Iterable, absolute: absolute);
statusCode = code ?? 302;
write('''
<!DOCTYPE html>
@ -290,7 +291,9 @@ abstract class ResponseContext implements StreamSink<List<int>>, StringSink {
final head =
controller.findExpose().path.toString().replaceAll(_straySlashes, '');
final tail = matched.makeUri(params.cast<String, dynamic>()).replaceAll(_straySlashes, '');
final tail = matched
.makeUri(params.cast<String, dynamic>())
.replaceAll(_straySlashes, '');
redirect('$head/$tail'.replaceAll(_straySlashes, ''), code: code);
}

View file

@ -185,8 +185,8 @@ class Angel extends AngelBase {
logger?.warning(
'This route will be ignored, and no requests will ever reach it.');
}
return super
.mount(path.toString(), router, hooked: hooked != false, namespace: namespace);
return super.mount(path.toString(), router,
hooked: hooked != false, namespace: namespace);
}
/// Loads some base dependencies into the service container.

View file

@ -107,8 +107,7 @@ class Service extends Routable {
_addRoutesInner(service ?? this, bootstrappers);
}
void _addRoutesInner(Service service,
List handlers) {
void _addRoutesInner(Service service, List handlers) {
Map restProvider = {'provider': Providers.rest};
// Add global middleware if declared on the instance itself

View file

@ -146,8 +146,9 @@ class AngelHttp {
runPipeline = () => app.executeHandler(handler, req, res);
else {
var current = runPipeline;
runPipeline = () => current().then((result) =>
!result ? new Future.value(result) : app.executeHandler(handler, req, res));
runPipeline = () => current().then((result) => !result
? new Future.value(result)
: app.executeHandler(handler, req, res));
}
}
@ -352,10 +353,10 @@ class AngelHttp {
Future<ResponseContext> createResponseContext(HttpResponse response,
[RequestContext correspondingRequest]) =>
new Future<ResponseContext>.value(
new HttpResponseContextImpl(response, app, correspondingRequest as HttpRequestContextImpl)
..serializer = (app.serializer ?? god.serialize)
..encoders.addAll(app.encoders ?? {}));
new Future<ResponseContext>.value(new HttpResponseContextImpl(
response, app, correspondingRequest as HttpRequestContextImpl)
..serializer = (app.serializer ?? god.serialize)
..encoders.addAll(app.encoders ?? {}));
/// Limits the maximum number of requests to be handled concurrently by this instance.
///

View file

@ -13,10 +13,11 @@ export 'http_request_context.dart';
export 'http_response_context.dart';
/// Boots a shared server instance. Use this if launching multiple isolates
Future<HttpServer> startShared(address, int port) => HttpServer
.bind(address ?? '127.0.0.1', port ?? 0, shared: true);
Future<HttpServer> startShared(address, int port) =>
HttpServer.bind(address ?? '127.0.0.1', port ?? 0, shared: true);
Future<HttpServer> Function(dynamic, int) startSharedSecure(SecurityContext securityContext) {
Future<HttpServer> Function(dynamic, int) startSharedSecure(
SecurityContext securityContext) {
return (address, int port) => HttpServer.bindSecure(
address ?? '127.0.0.1', port ?? 0, securityContext,
shared: true);

View file

@ -11,9 +11,7 @@ main() {
}
void start(int id) {
HttpServer
.bind('127.0.0.1', 3000, shared: true)
.then((server) {
HttpServer.bind('127.0.0.1', 3000, shared: true).then((server) {
print(
'Instance #$id listening at http://${server.address.address}:${server.port}');

View file

@ -1,5 +1,5 @@
name: angel_framework
version: 1.1.4+5
version: 1.1.4+6
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

View file

@ -96,7 +96,7 @@ void encodingTests(Angel getApp()) {
await rq.close();
var rs = rq.response;
await http.handleRequest(rq);
var body = await getBody(rs);
expect(rs.headers.value('content-encoding'), 'gzip');
expect(body, gzip.encode(utf8.encode('Hello, world!')));

View file

@ -11,18 +11,17 @@ main() {
isException(401, '401 Not Authenticated'));
expect(new AngelHttpException.paymentRequired(),
isException(402, '402 Payment Required'));
expect(new AngelHttpException.forbidden(),
isException(403, '403 Forbidden'));
expect(new AngelHttpException.notFound(),
isException(404, '404 Not Found'));
expect(
new AngelHttpException.forbidden(), isException(403, '403 Forbidden'));
expect(
new AngelHttpException.notFound(), isException(404, '404 Not Found'));
expect(new AngelHttpException.methodNotAllowed(),
isException(405, '405 Method Not Allowed'));
expect(new AngelHttpException.notAcceptable(),
isException(406, '406 Not Acceptable'));
expect(new AngelHttpException.methodTimeout(),
isException(408, '408 Timeout'));
expect(new AngelHttpException.conflict(),
isException(409, '409 Conflict'));
expect(new AngelHttpException.conflict(), isException(409, '409 Conflict'));
expect(new AngelHttpException.notProcessable(),
isException(422, '422 Not Processable'));
expect(new AngelHttpException.notImplemented(),

View file

@ -71,7 +71,8 @@ main() {
});
var response = await client.post("$url/todos",
body: god.serialize({"arbitrary": "data"}), headers: headers.cast<String, String>());
body: god.serialize({"arbitrary": "data"}),
headers: headers.cast<String, String>());
print(response.body);
Map result = god.deserialize(response.body);
expect(result["hello"], equals("hooked world"));

View file

@ -85,12 +85,14 @@ main() {
// Invalid request
var rq = new MockHttpRequest('GET', Uri.parse('/session'))..close();
var rs = rq.response;
http.handleRequest(rq).timeout(const Duration(seconds: 5)).catchError((_) => null);
http
.handleRequest(rq)
.timeout(const Duration(seconds: 5))
.catchError((_) => null);
await printResponse(rs);
expect(rs.statusCode, 500);
rq = new MockHttpRequest('GET', Uri.parse('/session'));
rq.session['foo'] = 'bar';
rq.close();

View file

@ -94,8 +94,7 @@ main() {
app.dumpTree(header: "DUMPING ROUTES:", showMatchers: true);
client = new http.Client();
var server =
await new AngelHttp(app).startServer('127.0.0.1', 0);
var server = await new AngelHttp(app).startServer('127.0.0.1', 0);
url = "http://${server.address.host}:${server.port}";
});
@ -156,8 +155,8 @@ main() {
test('Can serialize function result as JSON', () async {
Map headers = {'Content-Type': 'application/json'};
String postData = json.encode({'it': 'works'});
var response =
await client.post("$url/lambda", headers: headers.cast<String, String>(), body: postData);
var response = await client.post("$url/lambda",
headers: headers.cast<String, String>(), body: postData);
print('Response: ${response.body}');
expect(json.decode(response.body)['it'], equals('works'));
});

View file

@ -174,8 +174,7 @@ main() {
http.handleRequest(rq);
await rq.response.toList();
expect(rq.response.statusCode, 403);
expect(
rq.response.headers.contentType.mimeType, 'application/json');
expect(rq.response.headers.contentType.mimeType, 'application/json');
});
test('can throw in finalizer', () async {
@ -185,8 +184,7 @@ main() {
http.handleRequest(rq);
await rq.response.toList();
expect(rq.response.statusCode, 403);
expect(
rq.response.headers.contentType.mimeType, 'application/json');
expect(rq.response.headers.contentType.mimeType, 'application/json');
});
test('can send html', () async {
@ -196,8 +194,7 @@ main() {
http.handleRequest(rq);
await rq.response.toList();
expect(rq.response.statusCode, 403);
expect(
rq.response.headers.contentType?.mimeType, 'text/html');
expect(rq.response.headers.contentType?.mimeType, 'text/html');
});
});
}

View file

@ -51,8 +51,8 @@ main() {
test('can create data', () async {
String postData = god.serialize({'text': 'Hello, world!'});
var response =
await client.post("$url/todos", headers: headers.cast<String, String>(), body: postData);
var response = await client.post("$url/todos",
headers: headers.cast<String, String>(), body: postData);
expect(response.statusCode, 201);
var json = god.deserialize(response.body);
print(json);
@ -61,7 +61,8 @@ main() {
test('can fetch data', () async {
String postData = god.serialize({'text': 'Hello, world!'});
await client.post("$url/todos", headers: headers.cast<String, String>(), body: postData);
await client.post("$url/todos",
headers: headers.cast<String, String>(), body: postData);
var response = await client.get("$url/todos/0");
expect(response.statusCode, 200);
var json = god.deserialize(response.body);
@ -71,10 +72,11 @@ main() {
test('can modify data', () async {
String postData = god.serialize({'text': 'Hello, world!'});
await client.post("$url/todos", headers: headers.cast<String, String>(), body: postData);
await client.post("$url/todos",
headers: headers.cast<String, String>(), body: postData);
postData = god.serialize({'text': 'modified'});
var response =
await client.patch("$url/todos/0", headers: headers.cast<String, String>(), body: postData);
var response = await client.patch("$url/todos/0",
headers: headers.cast<String, String>(), body: postData);
expect(response.statusCode, 200);
var json = god.deserialize(response.body);
print(json);
@ -83,10 +85,11 @@ main() {
test('can overwrite data', () async {
String postData = god.serialize({'text': 'Hello, world!'});
await client.post("$url/todos", headers: headers.cast<String, String>(), body: postData);
await client.post("$url/todos",
headers: headers.cast<String, String>(), body: postData);
postData = god.serialize({'over': 'write'});
var response =
await client.post("$url/todos/0", headers: headers.cast<String, String>(), body: postData);
var response = await client.post("$url/todos/0",
headers: headers.cast<String, String>(), body: postData);
expect(response.statusCode, 200);
var json = god.deserialize(response.body);
print(json);
@ -97,7 +100,8 @@ main() {
test('can delete data', () async {
String postData = god.serialize({'text': 'Hello, world!'});
var created = await client
.post("$url/todos", headers: headers.cast<String, String>(), body: postData)
.post("$url/todos",
headers: headers.cast<String, String>(), body: postData)
.then((r) => json.decode(r.body));
var response = await client.delete("$url/todos/${created['id']}");
expect(response.statusCode, 200);