This commit is contained in:
thosakwe 2017-07-09 12:50:46 -04:00
parent 6d66efb67c
commit 9d24d37b56
7 changed files with 221 additions and 96 deletions

View file

@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="All Tests (PRODUCTION)" type="DartTestRunConfigurationType" factoryName="Dart Test" singleton="true">
<option name="envs">
<entry key="ANGEL_ENV" value="production" />
</option>
<option name="filePath" value="$PROJECT_DIR$/test" />
<option name="scope" value="FOLDER" />
<option name="testRunnerOptions" value="-j 5" />
<method />
</configuration>
</component>

View file

@ -2,9 +2,13 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="7b89ff1e-1260-4dcf-9c3d-345de0471ea1" name="Default" comment=""> <list default="true" id="7b89ff1e-1260-4dcf-9c3d-345de0471ea1" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/runConfigurations/All_Tests__PRODUCTION_2.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<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/hooks.dart" afterPath="$PROJECT_DIR$/lib/hooks.dart" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/request_context.dart" afterPath="$PROJECT_DIR$/lib/src/http/request_context.dart" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/src/http/service.dart" afterPath="$PROJECT_DIR$/lib/src/http/service.dart" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/pubspec.yaml" afterPath="$PROJECT_DIR$/pubspec.yaml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pubspec.yaml" afterPath="$PROJECT_DIR$/pubspec.yaml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/hooked_test.dart" afterPath="$PROJECT_DIR$/test/hooked_test.dart" />
</list> </list>
<ignored path="$PROJECT_DIR$/.tmp/" /> <ignored path="$PROJECT_DIR$/.tmp/" />
<ignored path="$PROJECT_DIR$/temp/" /> <ignored path="$PROJECT_DIR$/temp/" />
@ -38,6 +42,56 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="hooks.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/hooks.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="693">
<caret line="36" column="62" lean-forward="false" selection-start-line="36" selection-start-column="62" selection-end-line="36" selection-end-column="62" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="request_context.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/http/request_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="475">
<caret line="208" column="42" lean-forward="false" selection-start-line="208" selection-start-column="42" selection-end-line="208" selection-end-column="42" />
<folding />
</state>
</provider>
</entry>
</file>
<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="588">
<caret line="42" column="13" lean-forward="true" selection-start-line="42" selection-start-column="13" selection-end-line="42" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="hooked_service.dart" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/lib/src/http/hooked_service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1543">
<caret line="58" column="6" lean-forward="false" selection-start-line="58" selection-start-column="6" selection-end-line="58" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</file>
<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="403">
<caret line="135" column="30" lean-forward="true" selection-start-line="135" selection-start-column="30" selection-end-line="135" selection-end-column="30" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf> </leaf>
</component> </component>
<component name="FileTemplateManagerImpl"> <component name="FileTemplateManagerImpl">
@ -49,8 +103,6 @@
</component> </component>
<component name="FindInProjectRecents"> <component name="FindInProjectRecents">
<findStrings> <findStrings>
<find>reopen</find>
<find>REDIRECT</find>
<find>close(</find> <find>close(</find>
<find>status</find> <find>status</find>
<find>createdAt</find> <find>createdAt</find>
@ -79,6 +131,8 @@
<find>handleAn</find> <find>handleAn</find>
<find>Tom Fo</find> <find>Tom Fo</find>
<find>handleRequest(</find> <find>handleRequest(</find>
<find>transform(</find>
<find>grab(</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>_isClosed</replace> <replace>_isClosed</replace>
@ -101,14 +155,11 @@
<list> <list>
<option value="$PROJECT_DIR$/.gitignore" /> <option value="$PROJECT_DIR$/.gitignore" />
<option value="$PROJECT_DIR$/test/common.dart" /> <option value="$PROJECT_DIR$/test/common.dart" />
<option value="$PROJECT_DIR$/test/hooked_test.dart" />
<option value="$PROJECT_DIR$/lib/src/http/fatal_error.dart" /> <option value="$PROJECT_DIR$/lib/src/http/fatal_error.dart" />
<option value="$PROJECT_DIR$/lib/src/http/memory_service.dart" /> <option value="$PROJECT_DIR$/lib/src/http/memory_service.dart" />
<option value="$PROJECT_DIR$/lib/src/http/map_service.dart" /> <option value="$PROJECT_DIR$/lib/src/http/map_service.dart" />
<option value="$PROJECT_DIR$/lib/hooks.dart" />
<option value="$PROJECT_DIR$/test/util_test.dart" /> <option value="$PROJECT_DIR$/test/util_test.dart" />
<option value="$PROJECT_DIR$/test/services_test.dart" /> <option value="$PROJECT_DIR$/test/services_test.dart" />
<option value="$PROJECT_DIR$/lib/src/http/service.dart" />
<option value="$PROJECT_DIR$/test/precontained_test.dart" /> <option value="$PROJECT_DIR$/test/precontained_test.dart" />
<option value="$PROJECT_DIR$/lib/src/http/controller.dart" /> <option value="$PROJECT_DIR$/lib/src/http/controller.dart" />
<option value="$PROJECT_DIR$/lib/src/http/metadata.dart" /> <option value="$PROJECT_DIR$/lib/src/http/metadata.dart" />
@ -130,6 +181,10 @@
<option value="$PROJECT_DIR$/tool/travis.sh" /> <option value="$PROJECT_DIR$/tool/travis.sh" />
<option value="$PROJECT_DIR$/test/server_test.dart" /> <option value="$PROJECT_DIR$/test/server_test.dart" />
<option value="$PROJECT_DIR$/lib/src/http/server.dart" /> <option value="$PROJECT_DIR$/lib/src/http/server.dart" />
<option value="$PROJECT_DIR$/lib/hooks.dart" />
<option value="$PROJECT_DIR$/lib/src/http/request_context.dart" />
<option value="$PROJECT_DIR$/lib/src/http/service.dart" />
<option value="$PROJECT_DIR$/test/hooked_test.dart" />
<option value="$PROJECT_DIR$/pubspec.yaml" /> <option value="$PROJECT_DIR$/pubspec.yaml" />
</list> </list>
</option> </option>
@ -164,6 +219,7 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<PATH> <PATH>
@ -190,6 +246,20 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="framework" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="framework" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="framework" /> <option name="myItemId" value="framework" />
@ -246,7 +316,6 @@
</PATH> </PATH>
</subPane> </subPane>
</pane> </pane>
<pane id="Scratches" />
<pane id="Scope" /> <pane id="Scope" />
</panes> </panes>
</component> </component>
@ -275,7 +344,7 @@
</list> </list>
</option> </option>
</component> </component>
<component name="RunManager" selected="Dart Command Line App.All Tests (PRODUCTION)"> <component name="RunManager" selected="Dart Test.All Tests (PRODUCTION)">
<configuration default="true" type="BashConfigurationType" factoryName="Bash"> <configuration default="true" type="BashConfigurationType" factoryName="Bash">
<option name="INTERPRETER_OPTIONS" value="" /> <option name="INTERPRETER_OPTIONS" value="" />
<option name="INTERPRETER_PATH" value="C:\Windows\system32\bash.exe" /> <option name="INTERPRETER_PATH" value="C:\Windows\system32\bash.exe" />
@ -356,6 +425,12 @@
<recursive>false</recursive> <recursive>false</recursive>
<method /> <method />
</configuration> </configuration>
<configuration default="false" name="contains provider in before and after in hooked_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
<option name="filePath" value="$PROJECT_DIR$/test/hooked_test.dart" />
<option name="scope" value="GROUP_OR_TEST_BY_NAME" />
<option name="testName" value="contains provider in before and after" />
<method />
</configuration>
<configuration default="false" name="tests in server_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true"> <configuration default="false" name="tests in server_test.dart" type="DartTestRunConfigurationType" factoryName="Dart Test" nameIsGenerated="true">
<option name="filePath" value="$PROJECT_DIR$/test/server_test.dart" /> <option name="filePath" value="$PROJECT_DIR$/test/server_test.dart" />
<option name="testName" value="server_test.dart" /> <option name="testName" value="server_test.dart" />
@ -387,21 +462,23 @@
<option name="testName" value="precontained_test.dart" /> <option name="testName" value="precontained_test.dart" />
<method /> <method />
</configuration> </configuration>
<list size="14"> <list size="16">
<item index="0" class="java.lang.String" itemvalue="Dart Test.tests in server_test.dart" /> <item index="0" class="java.lang.String" itemvalue="Dart Test.contains provider in before and after in hooked_test.dart" />
<item index="1" class="java.lang.String" itemvalue="Dart Test.tests in anonymous_service_test.dart" /> <item index="1" class="java.lang.String" itemvalue="Dart Test.tests in server_test.dart" />
<item index="2" class="java.lang.String" itemvalue="Dart Test.tests in exception_test.dart" /> <item index="2" class="java.lang.String" itemvalue="Dart Test.tests in anonymous_service_test.dart" />
<item index="3" class="java.lang.String" itemvalue="Dart Test.tests in typed_service_test.dart" /> <item index="3" class="java.lang.String" itemvalue="Dart Test.tests in exception_test.dart" />
<item index="4" class="java.lang.String" itemvalue="Dart Test.default view generator in view_generator_test.dart" /> <item index="4" class="java.lang.String" itemvalue="Dart Test.tests in typed_service_test.dart" />
<item index="5" class="java.lang.String" itemvalue="Dart Test.tests in precontained_test.dart" /> <item index="5" class="java.lang.String" itemvalue="Dart Test.default view generator in view_generator_test.dart" />
<item index="6" class="java.lang.String" itemvalue="Dart Test.Controller Tests" /> <item index="6" class="java.lang.String" itemvalue="Dart Test.tests in precontained_test.dart" />
<item index="7" class="java.lang.String" itemvalue="Dart Test.DI Tests" /> <item index="7" class="java.lang.String" itemvalue="Dart Test.Controller Tests" />
<item index="8" class="java.lang.String" itemvalue="Dart Test.Hooked Tests" /> <item index="8" class="java.lang.String" itemvalue="Dart Test.DI Tests" />
<item index="9" class="java.lang.String" itemvalue="Dart Test.Routing Tests" /> <item index="9" class="java.lang.String" itemvalue="Dart Test.Hooked Tests" />
<item index="10" class="java.lang.String" itemvalue="Dart Test.All Tests" /> <item index="10" class="java.lang.String" itemvalue="Dart Test.Routing Tests" />
<item index="11" class="java.lang.String" itemvalue="Dart Command Line App.All Tests (for coverage)" /> <item index="11" class="java.lang.String" itemvalue="Dart Test.All Tests" />
<item index="12" class="java.lang.String" itemvalue="Dart Command Line App.All Tests (PRODUCTION)" /> <item index="12" class="java.lang.String" itemvalue="Dart Command Line App.All Tests (for coverage)" />
<item index="13" class="java.lang.String" itemvalue="Dart Test.tests in server_test.dart (PRODUCTION)" /> <item index="13" class="java.lang.String" itemvalue="Dart Command Line App.All Tests (PRODUCTION)" />
<item index="14" class="java.lang.String" itemvalue="Dart Test.tests in server_test.dart (PRODUCTION)" />
<item index="15" class="java.lang.String" itemvalue="Dart Test.All Tests (PRODUCTION)" />
</list> </list>
</component> </component>
<component name="ShelveChangesManager" show_recycled="false"> <component name="ShelveChangesManager" show_recycled="false">
@ -437,7 +514,9 @@
<workItem from="1497985699191" duration="902000" /> <workItem from="1497985699191" duration="902000" />
<workItem from="1498770817945" duration="3845000" /> <workItem from="1498770817945" duration="3845000" />
<workItem from="1498826328044" duration="5519000" /> <workItem from="1498826328044" duration="5519000" />
<workItem from="1498960523007" duration="52000" /> <workItem from="1498960523007" duration="89000" />
<workItem from="1499604258765" duration="188000" />
<workItem from="1499618669602" duration="372000" />
</task> </task>
<task id="LOCAL-00001" summary="Re-designed exception"> <task id="LOCAL-00001" summary="Re-designed exception">
<created>1481237183504</created> <created>1481237183504</created>
@ -586,24 +665,31 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1498857811360</updated> <updated>1498857811360</updated>
</task> </task>
<option name="localTasksCounter" value="22" /> <task id="LOCAL-00022" summary="Add stackTrace">
<created>1498960583872</created>
<option name="number" value="00022" />
<option name="presentableId" value="LOCAL-00022" />
<option name="project" value="LOCAL" />
<updated>1498960583872</updated>
</task>
<option name="localTasksCounter" value="23" />
<servers /> <servers />
</component> </component>
<component name="TestHistory"> <component name="TestHistory">
<history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 45m 33s.xml"> <history-entry file="All_Tests - 2017.07.09 at 12h 50m 14s.xml">
<configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" /> <configuration name="All Tests" configurationId="DartTestRunConfigurationType" />
</history-entry> </history-entry>
<history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 46m 44s.xml"> <history-entry file="All_Tests_(PRODUCTION) - 2017.07.09 at 12h 50m 36s.xml">
<configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" /> <configuration name="All Tests (PRODUCTION)" configurationId="DartTestRunConfigurationType" />
</history-entry> </history-entry>
<history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 46m 53s.xml"> <history-entry file="contains_provider_in_before_and_after_in_hooked_test_dart - 2017.07.09 at 12h 48m 44s.xml">
<configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" /> <configuration name="contains provider in before and after in hooked_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry> </history-entry>
<history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 47m 15s.xml"> <history-entry file="contains_provider_in_before_and_after_in_hooked_test_dart - 2017.07.09 at 12h 49m 18s.xml">
<configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" /> <configuration name="contains provider in before and after in hooked_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry> </history-entry>
<history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 47m 30s.xml"> <history-entry file="contains_provider_in_before_and_after_in_hooked_test_dart - 2017.07.09 at 12h 49m 28s.xml">
<configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" /> <configuration name="contains provider in before and after in hooked_test.dart" configurationId="DartTestRunConfigurationType" />
</history-entry> </history-entry>
<history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 47m 46s.xml"> <history-entry file="tests_in_server_test_dart - 2017.06.30 at 09h 47m 46s.xml">
<configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" /> <configuration name="tests in server_test.dart" configurationId="DartTestRunConfigurationType" />
@ -622,7 +708,7 @@
</history-entry> </history-entry>
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="22872000" /> <option name="totallyTimeSpent" value="23469000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
@ -639,21 +725,21 @@
<layout> <layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19989423" 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.19989423" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3292683" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3292683" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="DB Browser" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32998413" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="DB Execution Console" 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="8" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" 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="true" content_ui="tabs" /> <window_info id="Event Log" 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="true" content_ui="tabs" />
<window_info id="Dart Analysis" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32802936" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Dart Analysis" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32802936" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34314835" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.34314835" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" 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="Version Control" 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" /> <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" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3250283" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3250283" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" 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="3" side_tool="true" content_ui="tabs" /> <window_info id="Favorites" 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="3" side_tool="true" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="DB Browser" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32998413" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Tool Output" 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="Tool Output" 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="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32616082" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32616082" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Message" 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="0" side_tool="false" content_ui="tabs" /> <window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="DB Execution Console" 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="8" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Coverage" 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="true" content_ui="tabs" /> <window_info id="Coverage" 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="true" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
@ -688,7 +774,8 @@
<MESSAGE value="Still adding more tests, fixed exception-handling bug." /> <MESSAGE value="Still adding more tests, fixed exception-handling bug." />
<MESSAGE value="Updated Travis script" /> <MESSAGE value="Updated Travis script" />
<MESSAGE value="1.0.6" /> <MESSAGE value="1.0.6" />
<option name="LAST_COMMIT_MESSAGE" value="1.0.6" /> <MESSAGE value="Add stackTrace" />
<option name="LAST_COMMIT_MESSAGE" value="Add stackTrace" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager /> <breakpoint-manager />
@ -795,13 +882,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/hooks.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="5544">
<caret line="267" column="95" lean-forward="false" selection-start-line="267" selection-start-column="95" selection-end-line="267" selection-end-column="95" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/precontained_test.dart"> <entry file="file://$PROJECT_DIR$/test/precontained_test.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="336"> <state relative-caret-position="336">
@ -809,13 +889,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/request_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="315">
<caret line="19" column="5" lean-forward="true" selection-start-line="19" selection-start-column="5" selection-end-line="19" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/metadata.dart"> <entry file="file://$PROJECT_DIR$/lib/src/http/metadata.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273"> <state relative-caret-position="273">
@ -830,13 +903,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/test/hooked_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="23" column="9" lean-forward="false" selection-start-line="23" selection-start-column="9" selection-end-line="23" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/defs.dart"> <entry file="file://$PROJECT_DIR$/lib/src/defs.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="21"> <state relative-caret-position="21">
@ -907,7 +973,6 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="231"> <state relative-caret-position="231">
<caret line="11" column="0" lean-forward="true" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" /> <caret line="11" column="0" lean-forward="true" selection-start-line="11" selection-start-column="0" selection-end-line="11" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -932,13 +997,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="307">
<caret line="67" column="18" lean-forward="false" selection-start-line="67" selection-start-column="18" selection-end-line="67" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/services_test.dart"> <entry file="file://$PROJECT_DIR$/test/services_test.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="261"> <state relative-caret-position="261">
@ -981,18 +1039,10 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/hooked_service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="83" column="24" lean-forward="false" selection-start-line="83" selection-start-column="24" selection-end-line="83" selection-end-column="24" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart"> <entry file="file://$PROJECT_DIR$/lib/src/http/routable.dart">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="458"> <state relative-caret-position="458">
<caret line="154" column="0" lean-forward="false" selection-start-line="154" selection-start-column="0" selection-end-line="154" selection-end-column="0" /> <caret line="154" column="0" lean-forward="false" selection-start-line="154" selection-start-column="0" selection-end-line="154" selection-end-column="0" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>
@ -1036,7 +1086,7 @@
<state relative-caret-position="164"> <state relative-caret-position="164">
<caret line="394" column="18" lean-forward="true" selection-start-line="394" selection-start-column="18" selection-end-line="394" selection-end-column="18" /> <caret line="394" column="18" lean-forward="true" selection-start-line="394" selection-start-column="18" selection-end-line="394" selection-end-column="18" />
<folding> <folding>
<element signature="e#38#58#0" expanded="true" /> <element signature="e#38#58#0" expanded="false" />
</folding> </folding>
</state> </state>
</provider> </provider>
@ -1045,9 +1095,46 @@
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225"> <state relative-caret-position="225">
<caret line="118" column="26" lean-forward="true" selection-start-line="118" selection-start-column="26" selection-end-line="118" selection-end-column="26" /> <caret line="118" column="26" lean-forward="true" selection-start-line="118" selection-start-column="26" selection-end-line="118" selection-end-column="26" />
<folding> </state>
<element signature="e#0#20#0" expanded="true" /> </provider>
</folding> </entry>
<entry file="file://$PROJECT_DIR$/lib/hooks.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="693">
<caret line="36" column="62" lean-forward="false" selection-start-line="36" selection-start-column="62" selection-end-line="36" selection-end-column="62" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/request_context.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="475">
<caret line="208" column="42" lean-forward="false" selection-start-line="208" selection-start-column="42" selection-end-line="208" selection-end-column="42" />
<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="588">
<caret line="42" column="13" lean-forward="true" selection-start-line="42" selection-start-column="13" selection-end-line="42" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/lib/src/http/hooked_service.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-1543">
<caret line="58" column="6" lean-forward="false" selection-start-line="58" selection-start-column="6" selection-end-line="58" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/test/hooked_test.dart">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="403">
<caret line="135" column="30" lean-forward="true" selection-start-line="135" selection-start-column="30" selection-end-line="135" selection-end-column="30" />
<folding />
</state> </state>
</provider> </provider>
</entry> </entry>

View file

@ -33,7 +33,9 @@ AngelConfigurer hookAllServices(callback(Service service)) {
} }
/// Transforms `e.data` or `e.result` into JSON-friendly data, i.e. a Map. Runs on Iterables as well. /// Transforms `e.data` or `e.result` into JSON-friendly data, i.e. a Map. Runs on Iterables as well.
HookedServiceEventListener toJson() => transform(god.serializeObject); ///
/// The [condition] is optional, and is passed to [transform].
HookedServiceEventListener toJson([condition]) => transform(god.serializeObject, condition);
/// Mutates `e.data` or `e.result` using the given [transformer]. /// Mutates `e.data` or `e.result` using the given [transformer].
/// ///
@ -47,6 +49,7 @@ HookedServiceEventListener toJson() => transform(god.serializeObject);
/// A provided function must take a [HookedServiceEvent] as its only parameter. /// A provided function must take a [HookedServiceEvent] as its only parameter.
HookedServiceEventListener transform(transformer(obj), [condition]) { HookedServiceEventListener transform(transformer(obj), [condition]) {
Iterable cond = condition is Iterable ? condition : [condition]; Iterable cond = condition is Iterable ? condition : [condition];
if (condition == null) cond = [];
_condition(HookedServiceEvent e, condition) async { _condition(HookedServiceEvent e, condition) async {
if (condition is Function) if (condition is Function)

View file

@ -167,6 +167,10 @@ class RequestContext extends Extensible {
return injections[key]; return injections[key];
else if (properties.containsKey(key)) else if (properties.containsKey(key))
return properties[key]; return properties[key];
else {
var prop = app?.findProperty(key);
if (prop != null)
return prop;
else if (key is Type) { else if (key is Type) {
try { try {
return app.container.make(key); return app.container.make(key);
@ -176,6 +180,7 @@ class RequestContext extends Extensible {
} else } else
return null; return null;
} }
}
/// Shorthand to add to [injections]. /// Shorthand to add to [injections].
void inject(type, value) { void inject(type, value) {

View file

@ -41,7 +41,8 @@ class Service extends Routable {
static const List<String> SPECIAL_QUERY_KEYS = const [ static const List<String> SPECIAL_QUERY_KEYS = const [
r'$limit', r'$limit',
r'$sort', r'$sort',
'page' 'page',
'token'
]; ];
/// The [Angel] app powering this service. /// The [Angel] app powering this service.

View file

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

View file

@ -117,4 +117,22 @@ main() {
expect(result, isNotEmpty); expect(result, isNotEmpty);
expect(result[0], equals({'foo': 'bar'})); expect(result[0], equals({'foo': 'bar'}));
}); });
test('contains provider in before and after', () async {
var svc = new HookedService(new AnonymousService(index: ([p]) async => []));
ensureProviderIsPresent(HookedServiceEvent e) {
var type = e.isBefore ? 'before' : 'after';
print('Params to $type ${e.eventName}: ${e.params}');
expect(e.params, isMap);
expect(e.params.keys, contains('provider'));
expect(e.params['provider'], const isInstanceOf<Providers>());
}
svc
..beforeAll(ensureProviderIsPresent)
..afterAll(ensureProviderIsPresent);
await svc.index({'provider': const Providers('testing')});
});
} }