@magic-xpa/engine 4.801.0-dev481.243 → 4.801.0-dev481.249
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +190 -0
- package/{esm2015/magic-xpa-engine.js → esm2020/magic-xpa-engine.mjs} +0 -0
- package/esm2020/src/AccessHelper.mjs +3 -0
- package/esm2020/src/ClientManager.mjs +403 -0
- package/esm2020/src/CommandsProcessorBase.mjs +58 -0
- package/esm2020/src/CommandsProcessorManager.mjs +26 -0
- package/esm2020/src/CommandsTable.mjs +163 -0
- package/{esm2015/src/ConstInterface.js → esm2020/src/ConstInterface.mjs} +0 -0
- package/{esm2015/src/CurrentClientVersion.js → esm2020/src/CurrentClientVersion.mjs} +2 -2
- package/{esm2015/src/FlowMonitorInterface.js → esm2020/src/FlowMonitorInterface.mjs} +0 -0
- package/esm2020/src/GUIManager.mjs +63 -0
- package/{esm2015/src/GlobalCommandsManager.js → esm2020/src/GlobalCommandsManager.mjs} +0 -0
- package/{esm2015/src/GuiEventsProcessor.js → esm2020/src/GuiEventsProcessor.mjs} +0 -0
- package/{esm2015/src/ICommandsTable.js → esm2020/src/ICommandsTable.mjs} +1 -0
- package/{esm2015/src/ServerConfig.js → esm2020/src/ServerConfig.mjs} +0 -0
- package/{esm2015/src/bridge/IGuiEvent.js → esm2020/src/bridge/IGuiEvent.mjs} +0 -0
- package/esm2020/src/bridge/MagicBridge.mjs +41 -0
- package/{esm2015/src/commands/ClientOriginatedCommandTaskTag.js → esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserLocateDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserRangeDataviewCommand.js → esm2020/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserSortDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/BrowserEscEventCommand.js → esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ClientOriginatedCommand.js → esm2020/src/commands/ClientToServer/ClientOriginatedCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ClientOriginatedCommandSerializer.js → esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ColumnSortEventCommand.js → esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs} +0 -0
- package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +278 -0
- package/{esm2015/src/commands/ClientToServer/CommandSerializationHelper.js → esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ComputeEventCommand.js → esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ContextTerminationEventCommand.js → esm2020/src/commands/ClientToServer/ContextTerminationEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ContextTimeoutResetCommand.js → esm2020/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ControlItemsRefreshCommand.js → esm2020/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/DataViewOutputCommand.js → esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/DataviewCommand.js → esm2020/src/commands/ClientToServer/DataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/EvaluateCommand.js → esm2020/src/commands/ClientToServer/EvaluateCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/EventCommand.js → esm2020/src/commands/ClientToServer/EventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ExecOperCommand.js → esm2020/src/commands/ClientToServer/ExecOperCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/FetchDataControlValuesEventCommand.js → esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/GlobalParamsQueryCommand.js → esm2020/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ICommandTaskTag.js → esm2020/src/commands/ClientToServer/ICommandTaskTag.mjs} +1 -0
- package/{esm2015/src/commands/ClientToServer/IndexChangeEventCommand.js → esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/IniputForceWriteCommand.js → esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/NonReversibleExitEventCommand.js → esm2020/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/QueryCommand.js → esm2020/src/commands/ClientToServer/QueryCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RecomputeCommand.js → esm2020/src/commands/ClientToServer/RecomputeCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RefreshEventCommand.js → esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RefreshScreenEventCommand.js → esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RollbackEventCommand.js → esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SelectProgramCommand.js → esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SetTransactionStateDataviewCommand.js → esm2020/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SubformOpenEventCommand.js → esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SubformRefreshEventCommand.js → esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/TransactionCommand.js → esm2020/src/commands/ClientToServer/TransactionCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/UnloadCommand.js → esm2020/src/commands/ClientToServer/UnloadCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/WriteMessageToServerLogCommand.js → esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs} +0 -0
- package/esm2020/src/commands/DataViewCommandBase.mjs +10 -0
- package/{esm2015/src/commands/IClientCommand.js → esm2020/src/commands/IClientCommand.mjs} +1 -0
- package/esm2020/src/commands/IClientTargetedCommand.mjs +9 -0
- package/{esm2015/src/commands/IClientToServerCommandInfo.js → esm2020/src/commands/IClientToServerCommandInfo.mjs} +1 -0
- package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +65 -0
- package/esm2020/src/commands/ServerToClient/AddLocateCommand.mjs +22 -0
- package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
- package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
- package/{esm2015/src/commands/ServerToClient/ClientRefreshCommand.js → esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs} +14 -17
- package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +27 -0
- package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
- package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +222 -0
- package/esm2020/src/commands/ServerToClient/ResetLocateCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResetRangeCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResetSortCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +37 -0
- package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +85 -0
- package/{esm2015/src/commands/ServerToClient/XMLBasedCommandBuilder.js → esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs} +0 -0
- package/{esm2015/src/communications/IConnectionStateManager.js → esm2020/src/communications/IConnectionStateManager.mjs} +1 -0
- package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +17 -0
- package/{esm2015/src/data/DataSourceIdKey.js → esm2020/src/data/DataSourceIdKey.mjs} +0 -0
- package/esm2020/src/data/DataView.mjs +1634 -0
- package/{esm2015/src/data/DataViewBase.js → esm2020/src/data/DataViewBase.mjs} +0 -0
- package/esm2020/src/data/DataviewManager.mjs +28 -0
- package/esm2020/src/data/DataviewManagerBase.mjs +15 -0
- package/{esm2015/src/data/DvCache.js → esm2020/src/data/DvCache.mjs} +0 -0
- package/esm2020/src/data/Field.mjs +645 -0
- package/esm2020/src/data/FieldBase.mjs +18 -0
- package/{esm2015/src/data/FieldsTable.js → esm2020/src/data/FieldsTable.mjs} +0 -0
- package/{esm2015/src/data/IRecordsTable.js → esm2020/src/data/IRecordsTable.mjs} +1 -0
- package/{esm2015/src/data/Key.js → esm2020/src/data/Key.mjs} +0 -0
- package/{esm2015/src/data/Record.js → esm2020/src/data/Record.mjs} +0 -0
- package/{esm2015/src/data/RecordOutOfDataViewException.js → esm2020/src/data/RecordOutOfDataViewException.mjs} +0 -0
- package/{esm2015/src/data/RecordsTable.js → esm2020/src/data/RecordsTable.mjs} +0 -0
- package/esm2020/src/data/TaskTransactionManager.mjs +103 -0
- package/{esm2015/src/data/XMLBasedDcValuesBuilder.js → esm2020/src/data/XMLBasedDcValuesBuilder.mjs} +0 -0
- package/{esm2015/src/enums.js → esm2020/src/enums.mjs} +0 -0
- package/esm2020/src/env/EnvVariablesTable.mjs +340 -0
- package/esm2020/src/env/Environment.mjs +554 -0
- package/{esm2015/src/env/ILanguageData.js → esm2020/src/env/ILanguageData.mjs} +1 -0
- package/esm2020/src/env/LanguageData.mjs +222 -0
- package/esm2020/src/env/MirrorString.mjs +66 -0
- package/{esm2015/src/event/ActionManager.js → esm2020/src/event/ActionManager.mjs} +0 -0
- package/esm2020/src/event/Event.mjs +1436 -0
- package/esm2020/src/event/EventHandler.mjs +773 -0
- package/{esm2015/src/event/EventHandlerPosition.js → esm2020/src/event/EventHandlerPosition.mjs} +0 -0
- package/esm2020/src/event/EventsManager.mjs +2983 -0
- package/{esm2015/src/event/IEventsManager.js → esm2020/src/event/IEventsManager.mjs} +0 -0
- package/{esm2015/src/event/RunTimeEvent.js → esm2020/src/event/RunTimeEvent.mjs} +0 -0
- package/{esm2015/src/event/RunTimeEventBase.js → esm2020/src/event/RunTimeEventBase.mjs} +0 -0
- package/{esm2015/src/event/UserEventsTable.js → esm2020/src/event/UserEventsTable.mjs} +0 -0
- package/{esm2015/src/exp/ExpTable.js → esm2020/src/exp/ExpTable.mjs} +0 -0
- package/esm2020/src/exp/Expression.mjs +200 -0
- package/{esm2015/src/exp/ExpressionDict.js → esm2020/src/exp/ExpressionDict.mjs} +0 -0
- package/esm2020/src/exp/ExpressionEvaluator.mjs +4373 -0
- package/{esm2015/src/exp/ExpressionLocalJpn.js → esm2020/src/exp/ExpressionLocalJpn.mjs} +0 -0
- package/esm2020/src/exp/GlobalParamsTable.mjs +85 -0
- package/esm2020/src/exp/YesNoExp.mjs +41 -0
- package/{esm2015/src/gui/CreatedFormVector.js → esm2020/src/gui/CreatedFormVector.mjs} +0 -0
- package/esm2020/src/gui/FormsTable.mjs +66 -0
- package/esm2020/src/gui/MgControl.mjs +357 -0
- package/esm2020/src/gui/MgForm.mjs +1195 -0
- package/esm2020/src/http/HttpManager.mjs +97 -0
- package/esm2020/src/http/client/HttpClientAsync.mjs +67 -0
- package/esm2020/src/http/client/HttpClientBase.mjs +148 -0
- package/{esm2015/src/http/client/HttpClientEvents.js → esm2020/src/http/client/HttpClientEvents.mjs} +0 -0
- package/esm2020/src/http/client/HttpClientSync.mjs +42 -0
- package/{esm2015/src/http/client/HttpUtility.js → esm2020/src/http/client/HttpUtility.mjs} +0 -0
- package/{esm2015/src/http/client/ICommunicationsFailureHandler.js → esm2020/src/http/client/ICommunicationsFailureHandler.mjs} +1 -0
- package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/RemoteCommandsProcessor.mjs +872 -0
- package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
- package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +24 -0
- package/{esm2015/src/remote/RemoteDataViewCommandFactory.js → esm2020/src/remote/RemoteDataViewCommandFactory.mjs} +0 -0
- package/esm2020/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +16 -0
- package/esm2020/src/remote/RemoteDataviewManager.mjs +17 -0
- package/esm2020/src/remote/RemoteInitDataViewCommand.mjs +11 -0
- package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
- package/esm2020/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +13 -0
- package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
- package/{esm2015/src/remote/ServerError.js → esm2020/src/remote/ServerError.mjs} +0 -0
- package/{esm2015/src/remote/SetTransactionStateRemoteDataViewCommand.js → esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs} +8 -11
- package/esm2020/src/rt/Argument.mjs +274 -0
- package/esm2020/src/rt/ArgumentsList.mjs +103 -0
- package/esm2020/src/rt/Boundary.mjs +158 -0
- package/{esm2015/src/rt/CompMainPrgTable.js → esm2020/src/rt/CompMainPrgTable.mjs} +0 -0
- package/esm2020/src/rt/DataviewHeaderBase.mjs +96 -0
- package/{esm2015/src/rt/DataviewHeaderFactory.js → esm2020/src/rt/DataviewHeaderFactory.mjs} +0 -0
- package/{esm2015/src/rt/DataviewHeaders.js → esm2020/src/rt/DataviewHeaders.mjs} +0 -0
- package/{esm2015/src/rt/DataviewHeadersSaxHandler.js → esm2020/src/rt/DataviewHeadersSaxHandler.mjs} +0 -0
- package/{esm2015/src/rt/ExecutionStack.js → esm2020/src/rt/ExecutionStack.mjs} +0 -0
- package/{esm2015/src/rt/ExecutionStackEntry.js → esm2020/src/rt/ExecutionStackEntry.mjs} +0 -0
- package/{esm2015/src/rt/HandlersTable.js → esm2020/src/rt/HandlersTable.mjs} +0 -0
- package/{esm2015/src/rt/IDataSourceViewDefinition.js → esm2020/src/rt/IDataSourceViewDefinition.mjs} +1 -0
- package/{esm2015/src/rt/IDataviewHeader.js → esm2020/src/rt/IDataviewHeader.mjs} +1 -0
- package/{esm2015/src/rt/IResultValue.js → esm2020/src/rt/IResultValue.mjs} +1 -0
- package/{esm2015/src/rt/LastFocusedManager.js → esm2020/src/rt/LastFocusedManager.mjs} +0 -0
- package/esm2020/src/rt/Operation.mjs +745 -0
- package/{esm2015/src/rt/OperationTable.js → esm2020/src/rt/OperationTable.mjs} +0 -0
- package/esm2020/src/rt/Recompute.mjs +355 -0
- package/{esm2015/src/rt/RecomputeTable.js → esm2020/src/rt/RecomputeTable.mjs} +0 -0
- package/esm2020/src/rt/RemoteDataviewHeader.mjs +105 -0
- package/{esm2015/src/rt/ResultValue.js → esm2020/src/rt/ResultValue.mjs} +0 -0
- package/esm2020/src/rt/TableCache.mjs +177 -0
- package/esm2020/src/rt/TableCacheManager.mjs +67 -0
- package/{esm2015/src/rt/Transaction.js → esm2020/src/rt/Transaction.mjs} +0 -0
- package/{esm2015/src/security/UserDetails.js → esm2020/src/security/UserDetails.mjs} +0 -0
- package/{esm2015/src/tasks/IMGDataCollection.js → esm2020/src/tasks/IMGDataCollection.mjs} +1 -0
- package/esm2020/src/tasks/MGData.mjs +552 -0
- package/esm2020/src/tasks/MGDataCollection.mjs +259 -0
- package/{esm2015/src/tasks/MenusDeserializer.js → esm2020/src/tasks/MenusDeserializer.mjs} +0 -0
- package/{esm2015/src/tasks/RCTimer.js → esm2020/src/tasks/RCTimer.mjs} +0 -0
- package/{esm2015/src/tasks/RemoteTaskService.js → esm2020/src/tasks/RemoteTaskService.mjs} +0 -0
- package/esm2020/src/tasks/Task.mjs +2501 -0
- package/{esm2015/src/tasks/TaskBase.js → esm2020/src/tasks/TaskBase.mjs} +22 -1
- package/esm2020/src/tasks/TaskServiceBase.mjs +25 -0
- package/esm2020/src/tasks/TasksTable.mjs +80 -0
- package/{esm2015/src/tasks/sort/Sort.js → esm2020/src/tasks/sort/Sort.mjs} +0 -0
- package/{esm2015/src/tasks/sort/SortCollection.js → esm2020/src/tasks/sort/SortCollection.mjs} +0 -0
- package/{esm2015/src/util/ConstUtils.js → esm2020/src/util/ConstUtils.mjs} +0 -0
- package/esm2020/src/util/FlowMonitorQueue.mjs +361 -0
- package/{esm2015/src/util/HeapSort.js → esm2020/src/util/HeapSort.mjs} +0 -0
- package/{esm2015/src/util/IMirrorXML.js → esm2020/src/util/IMirrorXML.mjs} +2 -1
- package/{esm2015/src/util/IServerConfig.js → esm2020/src/util/IServerConfig.mjs} +1 -0
- package/{esm2015/src/util/MgBlockingQueue.js → esm2020/src/util/MgBlockingQueue.mjs} +1 -0
- package/esm2020/src/util/MgPriorityBlockingQueue.mjs +76 -0
- package/{esm2015/src/util/MgPriorityQueue.js → esm2020/src/util/MgPriorityQueue.mjs} +0 -0
- package/esm2020/src/util/ParamParseResult.mjs +8 -0
- package/esm2020/src/util/PrmMap.mjs +151 -0
- package/{esm2015/src/util/Process.js → esm2020/src/util/Process.mjs} +0 -0
- package/{esm2015/src/util/ReturnResult.js → esm2020/src/util/ReturnResult.mjs} +0 -0
- package/{esm2015/src/util/ReturnResultBase.js → esm2020/src/util/ReturnResultBase.mjs} +0 -0
- package/{esm2015/src/util/Scrambler.js → esm2020/src/util/Scrambler.mjs} +0 -0
- package/{esm2015/src/util/UniqueIDUtils.js → esm2020/src/util/UniqueIDUtils.mjs} +0 -0
- package/{esm2015/src/util/cookie.service.js → esm2020/src/util/cookie.service.mjs} +0 -0
- package/fesm2015/{magic-xpa-engine.js → magic-xpa-engine.mjs} +102 -5
- package/fesm2015/magic-xpa-engine.mjs.map +1 -0
- package/fesm2020/magic-xpa-engine.mjs +30705 -0
- package/fesm2020/magic-xpa-engine.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/package.json +27 -13
- package/src/AccessHelper.d.ts +1 -1
- package/src/CommandsProcessorBase.d.ts +3 -3
- package/src/commands/DataViewCommandBase.d.ts +2 -2
- package/src/commands/IClientTargetedCommand.d.ts +1 -1
- package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +1 -1
- package/src/data/FieldBase.d.ts +3 -3
- package/src/env/EnvVariablesTable.d.ts +2 -15
- package/src/env/MirrorString.d.ts +15 -0
- package/src/exp/GlobalParamsTable.d.ts +2 -1
- package/src/http/client/HttpClientBase.d.ts +2 -2
- package/src/rt/DataviewHeaderBase.d.ts +1 -1
- package/src/tasks/TaskBase.d.ts +7 -7
- package/src/util/IMirrorXML.d.ts +1 -1
- package/src/util/ParamParseResult.d.ts +6 -0
- package/src/util/PrmMap.d.ts +0 -6
- package/bundles/magic-xpa-engine.umd.js +0 -37983
- package/bundles/magic-xpa-engine.umd.js.map +0 -1
- package/bundles/magic-xpa-engine.umd.min.js +0 -16
- package/bundles/magic-xpa-engine.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -188
- package/esm2015/src/AccessHelper.js +0 -3
- package/esm2015/src/ClientManager.js +0 -412
- package/esm2015/src/CommandsProcessorBase.js +0 -54
- package/esm2015/src/CommandsProcessorManager.js +0 -31
- package/esm2015/src/CommandsTable.js +0 -166
- package/esm2015/src/GUIManager.js +0 -72
- package/esm2015/src/bridge/MagicBridge.js +0 -44
- package/esm2015/src/commands/ClientToServer/CommandFactory.js +0 -283
- package/esm2015/src/commands/DataViewCommandBase.js +0 -6
- package/esm2015/src/commands/IClientTargetedCommand.js +0 -6
- package/esm2015/src/commands/ServerToClient/AbortCommand.js +0 -68
- package/esm2015/src/commands/ServerToClient/AddLocateCommand.js +0 -25
- package/esm2015/src/commands/ServerToClient/AddRangeCommand.js +0 -65
- package/esm2015/src/commands/ServerToClient/AddSortCommand.js +0 -36
- package/esm2015/src/commands/ServerToClient/ClientTargetedCommandBase.js +0 -24
- package/esm2015/src/commands/ServerToClient/EnhancedVerifyCommand.js +0 -48
- package/esm2015/src/commands/ServerToClient/OpenURLCommand.js +0 -225
- package/esm2015/src/commands/ServerToClient/ResetLocateCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResetRangeCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResetSortCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResultCommand.js +0 -40
- package/esm2015/src/commands/ServerToClient/VerifyCommand.js +0 -88
- package/esm2015/src/communications/InteractiveCommunicationsFailureHandler.js +0 -20
- package/esm2015/src/data/DataView.js +0 -1692
- package/esm2015/src/data/DataviewManager.js +0 -31
- package/esm2015/src/data/DataviewManagerBase.js +0 -18
- package/esm2015/src/data/Field.js +0 -671
- package/esm2015/src/data/FieldBase.js +0 -9
- package/esm2015/src/data/TaskTransactionManager.js +0 -110
- package/esm2015/src/env/EnvVariablesTable.js +0 -408
- package/esm2015/src/env/Environment.js +0 -557
- package/esm2015/src/env/LanguageData.js +0 -229
- package/esm2015/src/event/Event.js +0 -1441
- package/esm2015/src/event/EventHandler.js +0 -786
- package/esm2015/src/event/EventsManager.js +0 -3106
- package/esm2015/src/exp/Expression.js +0 -209
- package/esm2015/src/exp/ExpressionEvaluator.js +0 -4440
- package/esm2015/src/exp/GlobalParamsTable.js +0 -84
- package/esm2015/src/exp/YesNoExp.js +0 -44
- package/esm2015/src/gui/FormsTable.js +0 -73
- package/esm2015/src/gui/MgControl.js +0 -424
- package/esm2015/src/gui/MgForm.js +0 -1291
- package/esm2015/src/http/HttpManager.js +0 -100
- package/esm2015/src/http/client/HttpClientAsync.js +0 -72
- package/esm2015/src/http/client/HttpClientBase.js +0 -147
- package/esm2015/src/http/client/HttpClientSync.js +0 -47
- package/esm2015/src/remote/AddUserLocateRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/AddUserRangeRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/AddUserSortRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/RemoteCommandsProcessor.js +0 -901
- package/esm2015/src/remote/RemoteControlItemsRefreshCommand.js +0 -28
- package/esm2015/src/remote/RemoteDataViewCommandBase.js +0 -27
- package/esm2015/src/remote/RemoteDataViewCommandUpdateNonModifiable.js +0 -19
- package/esm2015/src/remote/RemoteDataviewManager.js +0 -23
- package/esm2015/src/remote/RemoteInitDataViewCommand.js +0 -14
- package/esm2015/src/remote/ResetUserLocateRemoteDataviewCommand.js +0 -20
- package/esm2015/src/remote/ResetUserRangeRemoteDataviewCommand.js +0 -16
- package/esm2015/src/remote/ResetUserSortRemoteDataviewCommand.js +0 -19
- package/esm2015/src/rt/Argument.js +0 -281
- package/esm2015/src/rt/ArgumentsList.js +0 -108
- package/esm2015/src/rt/Boundary.js +0 -161
- package/esm2015/src/rt/DataviewHeaderBase.js +0 -96
- package/esm2015/src/rt/Operation.js +0 -772
- package/esm2015/src/rt/Recompute.js +0 -372
- package/esm2015/src/rt/RemoteDataviewHeader.js +0 -114
- package/esm2015/src/rt/TableCache.js +0 -182
- package/esm2015/src/rt/TableCacheManager.js +0 -70
- package/esm2015/src/tasks/MGData.js +0 -561
- package/esm2015/src/tasks/MGDataCollection.js +0 -270
- package/esm2015/src/tasks/Task.js +0 -2601
- package/esm2015/src/tasks/TaskServiceBase.js +0 -30
- package/esm2015/src/tasks/TasksTable.js +0 -87
- package/esm2015/src/util/FlowMonitorQueue.js +0 -364
- package/esm2015/src/util/MgPriorityBlockingQueue.js +0 -79
- package/esm2015/src/util/PrmMap.js +0 -157
- package/fesm2015/magic-xpa-engine.js.map +0 -1
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ApplicationException, Debug, NString } from "@magic-xpa/mscorelib";
|
|
2
|
+
import { Logger } from "@magic-xpa/utils";
|
|
3
|
+
import { ConstInterface } from "../ConstInterface";
|
|
4
|
+
import { HttpClientEvents } from "./client/HttpClientEvents";
|
|
5
|
+
import { HttpClientSync } from "./client/HttpClientSync";
|
|
6
|
+
import { HttpClientAsync } from "./client/HttpClientAsync";
|
|
7
|
+
export class HttpManager {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._httpCommunicationTimeoutMS = HttpManager.DEFAULT_HTTP_COMMUNICATION_TIMEOUT;
|
|
10
|
+
this._httpClientAsync = null;
|
|
11
|
+
this._isAbortingMagicEngine = false;
|
|
12
|
+
this._httpClientAsync = new HttpClientAsync(HttpManager._nativeHttpClient);
|
|
13
|
+
this.RegisterBasicDelegates();
|
|
14
|
+
}
|
|
15
|
+
getHttpClient() {
|
|
16
|
+
if (this.IsAbortingMagicEngine)
|
|
17
|
+
return new HttpClientSync();
|
|
18
|
+
return this._httpClientAsync;
|
|
19
|
+
}
|
|
20
|
+
set HttpCommunicationTimeoutMS(value) {
|
|
21
|
+
this._httpCommunicationTimeoutMS = value;
|
|
22
|
+
}
|
|
23
|
+
static setNativeHttpClient(httpClient) {
|
|
24
|
+
HttpManager._nativeHttpClient = httpClient;
|
|
25
|
+
}
|
|
26
|
+
static GetInstance() {
|
|
27
|
+
if (HttpManager._instance === null) {
|
|
28
|
+
HttpManager._instance = new HttpManager();
|
|
29
|
+
}
|
|
30
|
+
return HttpManager._instance;
|
|
31
|
+
}
|
|
32
|
+
get IsAbortingMagicEngine() { return this._isAbortingMagicEngine; }
|
|
33
|
+
set IsAbortingMagicEngine(isAbortingMagicEngine) { this._isAbortingMagicEngine = isAbortingMagicEngine; }
|
|
34
|
+
RegisterBasicDelegates() {
|
|
35
|
+
HttpClientEvents.GetHttpCommunicationTimeout_Event = this.GetHttpCommunicationTimeoutMS.bind(this);
|
|
36
|
+
}
|
|
37
|
+
GetHttpCommunicationTimeoutMS() {
|
|
38
|
+
return this._httpCommunicationTimeoutMS;
|
|
39
|
+
}
|
|
40
|
+
SetCommunicationsFailureHandler(handler) {
|
|
41
|
+
this.getHttpClient().CommunicationsFailureHandler = handler;
|
|
42
|
+
}
|
|
43
|
+
async GetContent(requestedURL, requestContent, useCache, isError) {
|
|
44
|
+
let response;
|
|
45
|
+
Debug.Assert(this.getHttpClient() != null);
|
|
46
|
+
try {
|
|
47
|
+
Logger.Instance.WriteServerToLog("*************************************************************************************************");
|
|
48
|
+
isError.value = false;
|
|
49
|
+
Logger.Instance.WriteServerToLog(requestedURL);
|
|
50
|
+
HttpManager.LogAccessToServer("", requestContent);
|
|
51
|
+
response = await this.getHttpClient().GetContent(requestedURL, requestContent, useCache);
|
|
52
|
+
Debug.Assert(response !== null);
|
|
53
|
+
let errorResponse = HttpManager.CheckAndGetErrorResponse(response);
|
|
54
|
+
if (errorResponse !== null) {
|
|
55
|
+
response = errorResponse;
|
|
56
|
+
isError.value = true;
|
|
57
|
+
}
|
|
58
|
+
return response;
|
|
59
|
+
}
|
|
60
|
+
catch (ex) {
|
|
61
|
+
let url = new URL(requestedURL);
|
|
62
|
+
throw new ApplicationException(ex.Message + "\n" + url.origin + url.pathname, ex);
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
static CheckAndGetErrorResponse(httpResponse) {
|
|
68
|
+
let errorResponse = null;
|
|
69
|
+
if (httpResponse.startsWith(ConstInterface.V24_RIA_ERROR_PREFIX))
|
|
70
|
+
errorResponse = httpResponse.substr(ConstInterface.V24_RIA_ERROR_PREFIX.length);
|
|
71
|
+
return errorResponse;
|
|
72
|
+
}
|
|
73
|
+
static LogAccessToServer(msg, requestContent) {
|
|
74
|
+
if (Logger.Instance.ShouldLogServerRelatedMessages()) {
|
|
75
|
+
if (!NString.IsNullOrEmpty(msg)) {
|
|
76
|
+
msg = msg + "; accessing server ...";
|
|
77
|
+
}
|
|
78
|
+
if (requestContent === null) {
|
|
79
|
+
if (!NString.IsNullOrEmpty(msg)) {
|
|
80
|
+
Logger.Instance.WriteServerToLog(msg);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
if (!NString.IsNullOrEmpty(msg)) {
|
|
85
|
+
msg = msg + " ";
|
|
86
|
+
}
|
|
87
|
+
msg = msg + "uploading " + requestContent.length + " bytes";
|
|
88
|
+
Logger.Instance.WriteServerToLog(msg);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
HttpManager._instance = null;
|
|
94
|
+
HttpManager.DEFAULT_HTTP_COMMUNICATION_TIMEOUT = 5 * 1000;
|
|
95
|
+
HttpManager.DEFAULT_OFFLINE_HTTP_COMMUNICATION_TIMEOUT = 2 * 1000;
|
|
96
|
+
HttpManager._nativeHttpClient = null;
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2h0dHAvSHR0cE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFeEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsTUFBTSxPQUFPLFdBQVc7SUF3Q3RCO1FBbENRLGdDQUEyQixHQUFXLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQztRQUNyRixxQkFBZ0IsR0FBb0IsSUFBSSxDQUFDO1FBNkJ6QywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFLOUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFsQ08sYUFBYTtRQUduQixJQUFHLElBQUksQ0FBQyxxQkFBcUI7WUFDM0IsT0FBTyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLDBCQUEwQixDQUFDLEtBQWE7UUFDMUMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBR0QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQXNCO1FBRS9DLFdB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QUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDL0IsR0FBRyxHQUFHLEdBQUcsR0FBRyx3QkFBd0IsQ0FBQzthQUN0QztZQUVELElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtnQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQy9CLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3ZDO2FBQ0Y7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQy9CLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO2lCQUNqQjtnQkFFRCxHQUFHLEdBQUcsR0FBRyxHQUFHLFlBQVksR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztnQkFDNUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QztTQUNGO0lBQ0gsQ0FBQzs7QUEvSWMscUJBQVMsR0FBZ0IsSUFBSSxDQUFDO0FBRTdCLDhDQUFrQyxHQUFXLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDdEQsc0RBQTBDLEdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQWtCL0QsNkJBQWlCLEdBQWUsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHBsaWNhdGlvbkV4Y2VwdGlvbiwgRGVidWcsIE5TdHJpbmcsIFJlZlBhcmFtfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtMb2dnZXJ9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi9Db25zdEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnRCYXNlfSBmcm9tIFwiLi9jbGllbnQvSHR0cENsaWVudEJhc2VcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50RXZlbnRzfSBmcm9tIFwiLi9jbGllbnQvSHR0cENsaWVudEV2ZW50c1wiO1xyXG5pbXBvcnQge0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyfSBmcm9tIFwiLi9jbGllbnQvSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXJcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50U3luY30gZnJvbSBcIi4vY2xpZW50L0h0dHBDbGllbnRTeW5jXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudEFzeW5jfSBmcm9tIFwiLi9jbGllbnQvSHR0cENsaWVudEFzeW5jXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgSHR0cE1hbmFnZXIge1xyXG4gIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogSHR0cE1hbmFnZXIgPSBudWxsO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVDogbnVtYmVyID0gNSAqIDEwMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfT0ZGTElORV9IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVDogbnVtYmVyID0gMiAqIDEwMDA7XHJcblxyXG4gIHByaXZhdGUgX2h0dHBDb21tdW5pY2F0aW9uVGltZW91dE1TOiBudW1iZXIgPSBIdHRwTWFuYWdlci5ERUZBVUxUX0hUVFBfQ09NTVVOSUNBVElPTl9USU1FT1VUO1xyXG4gIHByaXZhdGUgX2h0dHBDbGllbnRBc3luYzogSHR0cENsaWVudEFzeW5jID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBnZXRIdHRwQ2xpZW50KCk6IEh0dHBDbGllbnRCYXNlXHJcbiAge1xyXG4gICAgLy8gQ3JlYXRpbmcgYSBuZXcgaW5zdGFuY2Ugb2Ygc3luYyBIdHRwQ2xpZW50IGJlY2F1c2UgaXQgd2lsbCBiZSBjcmVhdGVkIG9ubHkgb25jZSBkdXJpbmcgdGhlIGxhc3QgcmVxdWVzdFxyXG4gICAgaWYodGhpcy5Jc0Fib3J0aW5nTWFnaWNFbmdpbmUpXHJcbiAgICAgIHJldHVybiBuZXcgSHR0cENsaWVudFN5bmMoKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cENsaWVudEFzeW5jO1xyXG4gIH1cclxuXHJcbiAgc2V0IEh0dHBDb21tdW5pY2F0aW9uVGltZW91dE1TKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX2h0dHBDb21tdW5pY2F0aW9uVGltZW91dE1TID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBfbmF0aXZlSHR0cENsaWVudDogSHR0cENsaWVudCA9IG51bGw7XHJcbiAgc3RhdGljIHNldE5hdGl2ZUh0dHBDbGllbnQoaHR0cENsaWVudDogSHR0cENsaWVudClcclxuICB7XHJcbiAgICBIdHRwTWFuYWdlci5fbmF0aXZlSHR0cENsaWVudCA9IGh0dHBDbGllbnQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0SW5zdGFuY2UoKTogSHR0cE1hbmFnZXIge1xyXG4gICAgaWYgKEh0dHBNYW5hZ2VyLl9pbnN0YW5jZSA9PT0gbnVsbCkge1xyXG4gICAgICBIdHRwTWFuYWdlci5faW5zdGFuY2UgPSBuZXcgSHR0cE1hbmFnZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gSHR0cE1hbmFnZXIuX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNBYm9ydGluZ01hZ2ljRW5naW5lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZ2V0IElzQWJvcnRpbmdNYWdpY0VuZ2luZSgpIHsgcmV0dXJuIHRoaXMuX2lzQWJvcnRpbmdNYWdpY0VuZ2luZTsgfVxyXG4gIHNldCBJc0Fib3J0aW5nTWFnaWNFbmdpbmUoaXNBYm9ydGluZ01hZ2ljRW5naW5lOiBib29sZWFuKSB7IHRoaXMuX2lzQWJvcnRpbmdNYWdpY0VuZ2luZSA9IGlzQWJvcnRpbmdNYWdpY0VuZ2luZTsgfVxyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5faHR0cENsaWVudEFzeW5jID0gbmV3IEh0dHBDbGllbnRBc3luYyhIdHRwTWFuYWdlci5fbmF0aXZlSHR0cENsaWVudCk7XHJcbiAgICB0aGlzLlJlZ2lzdGVyQmFzaWNEZWxlZ2F0ZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgUmVnaXN0ZXJCYXNpY0RlbGVnYXRlcygpOiB2b2lkIHtcclxuICAgIEh0dHBDbGllbnRFdmVudHMuR2V0SHR0cENvbW11bmljYXRpb25UaW1lb3V0X0V2ZW50ID0gdGhpcy5HZXRIdHRwQ29tbXVuaWNhdGlvblRpbWVvdXRNUy5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgR2V0SHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwQ29tbXVuaWNhdGlvblRpbWVvdXRNUztcclxuICB9XHJcblxyXG4gIFNldENvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIoaGFuZGxlcjogSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0SHR0cENsaWVudCgpLkNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIgPSBoYW5kbGVyO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgR2V0Q29udGVudChyZXF1ZXN0ZWRVUkw6IHN0cmluZywgcmVxdWVzdENvbnRlbnQ6IHN0cmluZywgdXNlQ2FjaGU6IGJvb2xlYW4sIGlzRXJyb3I6IFJlZlBhcmFtPGJvb2xlYW4+KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGxldCByZXNwb25zZTogc3RyaW5nO1xyXG4gICAgRGVidWcuQXNzZXJ0KHRoaXMuZ2V0SHR0cENsaWVudCgpICE9IG51bGwpO1xyXG4gICAgLy8gbGV0IHN0YXJ0VGltZTogbnVtYmVyID0gTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVTZXJ2ZXJUb0xvZyhcIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcIik7XHJcblxyXG4gICAgICBpc0Vycm9yLnZhbHVlID0gZmFsc2U7XHJcblxyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVTZXJ2ZXJUb0xvZyhyZXF1ZXN0ZWRVUkwpO1xyXG5cclxuICAgICAgSHR0cE1hbmFnZXIuTG9nQWNjZXNzVG9TZXJ2ZXIoXCJcIiwgcmVxdWVzdENvbnRlbnQpO1xyXG4gICAgICByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ2V0SHR0cENsaWVudCgpLkdldENvbnRlbnQocmVxdWVzdGVkVVJMLCByZXF1ZXN0Q29udGVudCwgdXNlQ2FjaGUpO1xyXG4gICAgICBEZWJ1Zy5Bc3NlcnQocmVzcG9uc2UgIT09IG51bGwpO1xyXG4gICAgICBsZXQgZXJyb3JSZXNwb25zZTogc3RyaW5nID0gSHR0cE1hbmFnZXIuQ2hlY2tBbmRHZXRFcnJvclJlc3BvbnNlKHJlc3BvbnNlKTtcclxuXHJcbiAgICAgIGlmIChlcnJvclJlc3BvbnNlICE9PSBudWxsKSB7XHJcbiAgICAgICAgcmVzcG9uc2UgPSBlcnJvclJlc3BvbnNlO1xyXG4gICAgICAgIGlzRXJyb3IudmFsdWUgPSB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleCkge1xyXG4gICAgICAvLyBUT0RPOiByZWxhdGl2ZSByZXF1ZXN0ZWRVUkwgZG9lc24ndCB3b3JrIGhlcmUuXHJcbiAgICAgIGxldCB1cmw6IFVSTCA9IG5ldyBVUkwocmVxdWVzdGVkVVJMKTtcclxuICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKGV4Lk1lc3NhZ2UgKyBcIlxcblwiICsgdXJsLm9yaWdpbiArIHVybC5wYXRobmFtZSwgZXgpO1xyXG4gICAgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBpbiBXZWJDbGllbnQuXHJcbiAgICAgIC8vIEhvdyBkbyB3ZSBrbm93IGlmIHRoZSBjb250ZW50cyB3ZXJlIHJldHVybmVkIGZvcm0gYnJvd3NlciBjYWNoZT9cclxuICAgICAgLy8gbGV0IGVsYXBzZWRUaW1lOiBudW1iZXIgPSBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpIC0gc3RhcnRUaW1lO1xyXG5cclxuICAgICAgLy8gTG9nZ2VyLkluc3RhbmNlLldyaXRlU2VydmVyVG9Mb2coXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgc3RyaW5nLkZvcm1hdChcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICBcIkNvbXBsZXRlZCB7MH06IHsxOk4wfSBtcywgYWNjdW11bGF0ZWQ6IHsyOk4wfSBtcyAoc2VydmVyOiB7MzpOMH0pLCB7NH17NX17Nn0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlwiLFxyXG4gICAgICAvLyAgICAgICAgICAgICAgICAgIChjYWNoaW5nU3RyYXRlZ3kuRm91bmRJbkNhY2hlXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgID8gXCJcIlxyXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICA6IE5TdHJpbmcuRm9ybWF0KFwiI3swOk4wfVwiLCBTdGF0aXN0aWNzLkdldFJlcXVlc3RzQ250KCkpXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICBlbGFwc2VkVGltZSxcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICBTdGF0aXN0aWNzLkdldEFjY3VtdWxhdGVkRXh0ZXJuYWxUaW1lKCksIFN0YXRpc3RpY3MuR2V0QWNjdW11bGF0ZWRTZXJ2ZXJUaW1lKCksXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgKGNhY2hpbmdTdHJhdGVneS5Gb3VuZEluQ2FjaGVcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgIDogKHJlc3BvbnNlICE9IG51bGxcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBOU3RyaW5nLkZvcm1hdChcInswOk4wfSBieXRlcyBkb3dubG9hZGVkXCIsIHJlc3BvbnNlLmxlbmd0aClcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIk51bGwgcmVzcG9uc2UhXCIpXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgLy8gICAgICAgICAgICAgICAgICBPU0Vudmlyb25tZW50LkVvbFNlcSwgT1NFbnZpcm9ubWVudC5UYWJTZXEpXHJcbiAgICAgIC8vICAgICAgICAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5DaGVjayBpZiBhbiBIVFRQIHJlc3BvbnNlIGlzIGFuIGVycm9yIHJlc3BvbnNlLlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImh0dHBSZXNwb25zZVwiPnJlc3BvbnNlIHJldHVybmVkIHRvIGFuIEhUVFAgcmVxdWVzdC48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5pZiB0aGUgcmVzcG9uc2UgY29udGFpbnMgdGhlIGVycm9yIGluZGljYXRvciAtIHRoZSBlcnJvciBpbmRpY2F0b3IgaXMgdHJ1bmNhdGVkIGFuZCB0aGUgcmVtYWluaW5nIGlzIHJldHVybmVkLlxyXG4gIC8vLyBvdGhlcndpc2UgLSBudWxsIChpbmRpY2F0aW5nIHRoYXQgdGhlICdodHRwIFJlc3BvbnNlJyBkaWRuJ3QgY29udGFpbiBhbiBlcnJvcikuPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIENoZWNrQW5kR2V0RXJyb3JSZXNwb25zZShodHRwUmVzcG9uc2U6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgZXJyb3JSZXNwb25zZTogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICBpZiAoaHR0cFJlc3BvbnNlLnN0YXJ0c1dpdGgoQ29uc3RJbnRlcmZhY2UuVjI0X1JJQV9FUlJPUl9QUkVGSVgpKVxyXG4gICAgICBlcnJvclJlc3BvbnNlID0gaHR0cFJlc3BvbnNlLnN1YnN0cihDb25zdEludGVyZmFjZS5WMjRfUklBX0VSUk9SX1BSRUZJWC5sZW5ndGgpO1xyXG5cclxuICAgIHJldHVybiBlcnJvclJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgTG9nQWNjZXNzVG9TZXJ2ZXIobXNnOiBzdHJpbmcsIHJlcXVlc3RDb250ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChMb2dnZXIuSW5zdGFuY2UuU2hvdWxkTG9nU2VydmVyUmVsYXRlZE1lc3NhZ2VzKCkpIHtcclxuICAgICAgaWYgKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkobXNnKSkge1xyXG4gICAgICAgIG1zZyA9IG1zZyArIFwiOyBhY2Nlc3Npbmcgc2VydmVyIC4uLlwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocmVxdWVzdENvbnRlbnQgPT09IG51bGwpIHtcclxuICAgICAgICBpZiAoIU5TdHJpbmcuSXNOdWxsT3JFbXB0eShtc2cpKSB7XHJcbiAgICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVTZXJ2ZXJUb0xvZyhtc2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAoIU5TdHJpbmcuSXNOdWxsT3JFbXB0eShtc2cpKSB7XHJcbiAgICAgICAgICBtc2cgPSBtc2cgKyBcIiBcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1zZyA9IG1zZyArIFwidXBsb2FkaW5nIFwiICsgcmVxdWVzdENvbnRlbnQubGVuZ3RoICsgXCIgYnl0ZXNcIjtcclxuICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVTZXJ2ZXJUb0xvZyhtc2cpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { HttpErrorResponse } from "@angular/common/http";
|
|
2
|
+
import { NString, Thread, WebException } from "@magic-xpa/mscorelib";
|
|
3
|
+
import { HttpClientBase, RequestMethod } from "./HttpClientBase";
|
|
4
|
+
import { Logger, Logger_LogLevels, Logger_MessageDirection, Misc } from "@magic-xpa/utils";
|
|
5
|
+
import { HttpClientEvents } from "./HttpClientEvents";
|
|
6
|
+
export class HttpClientAsync extends HttpClientBase {
|
|
7
|
+
constructor(httpClient) {
|
|
8
|
+
super();
|
|
9
|
+
this.httpClient = httpClient;
|
|
10
|
+
}
|
|
11
|
+
prepareRequest() {
|
|
12
|
+
}
|
|
13
|
+
addHeaders(urlString, useCache, httpHeaders, clientID) {
|
|
14
|
+
if (!urlString.startsWith("/"))
|
|
15
|
+
httpHeaders = httpHeaders.append("MgxpaRIAglobalUniqueSessionID", clientID);
|
|
16
|
+
if (!useCache)
|
|
17
|
+
httpHeaders = httpHeaders.append("Cache-Control", 'no-cache');
|
|
18
|
+
return httpHeaders;
|
|
19
|
+
}
|
|
20
|
+
async sendRequestToServer(httpMethod, urlString, httpHeaders, requestContent, contentFromServer) {
|
|
21
|
+
let httpResponse = await this.httpClient.request(RequestMethod[httpMethod], urlString, { headers: httpHeaders, responseType: "text", observe: "response", body: requestContent }).toPromise();
|
|
22
|
+
contentFromServer.value = httpResponse.body;
|
|
23
|
+
return httpResponse;
|
|
24
|
+
}
|
|
25
|
+
logResponse(httpResponse, clientID, urlString, contentFromServer, timeBeforeRequest) {
|
|
26
|
+
let statusCode = httpResponse['status'];
|
|
27
|
+
let responseTime = Misc.getSystemMilliseconds() - timeBeforeRequest;
|
|
28
|
+
if (Logger.Instance.LogLevel === Logger_LogLevels.Basic)
|
|
29
|
+
Logger.Instance.WriteBasicToLog(Logger_MessageDirection.MessageEntering, HttpClientEvents.GetRuntimeCtxID(), HttpClientEvents.GetSessionCounter(), clientID, HttpClientEvents.ShouldDisplayGenericError() ? "-" : new URL(urlString).host, responseTime, statusCode.toString(), JSON.stringify(httpResponse.headers), contentFromServer.value.length);
|
|
30
|
+
}
|
|
31
|
+
handleHttpErrorException(ex, urlString) {
|
|
32
|
+
if (ex instanceof HttpErrorResponse) {
|
|
33
|
+
let statusCode = ex['status'];
|
|
34
|
+
if (statusCode === 404 || statusCode === 403)
|
|
35
|
+
throw new WebException(new Error("bad URL: " + urlString + " - StatusCode = " + statusCode));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async shouldRetry(httpCommunicationTimeoutMS, urlString, communicationsFailureHandler, ex, startTimeRef) {
|
|
39
|
+
let currentDelayMS = Math.floor(httpCommunicationTimeoutMS / 10);
|
|
40
|
+
let httpElapsedTimeMS = Misc.getSystemMilliseconds() - startTimeRef.value + currentDelayMS;
|
|
41
|
+
if (httpElapsedTimeMS <= httpCommunicationTimeoutMS) {
|
|
42
|
+
await Thread.Sleep(currentDelayMS);
|
|
43
|
+
Logger.Instance.WriteWarningToLogWithMsg(NString.Format("Retrying {0} : elapsed time {1:N0}ms out of {2:N0}ms", urlString, httpElapsedTimeMS, httpCommunicationTimeoutMS));
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
Logger.Instance.WriteWarningToLogWithMsg(NString.Format("{0} : http timeout {1:N0}ms expired", urlString, httpCommunicationTimeoutMS));
|
|
47
|
+
if (communicationsFailureHandler != null) {
|
|
48
|
+
communicationsFailureHandler.CommunicationFailed(urlString, ex);
|
|
49
|
+
if (communicationsFailureHandler.ShouldRetryLastRequest) {
|
|
50
|
+
Logger.Instance.WriteServerToLog(NString.Format("Retrying {0}, confirmed by user ...", urlString));
|
|
51
|
+
startTimeRef.value = Misc.getSystemMilliseconds();
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
logAndThrowException(ex) {
|
|
58
|
+
Logger.Instance.WriteWarningToLogWithMsg("Re-throwing ...");
|
|
59
|
+
Logger.Instance.WriteWarningToLog(ex);
|
|
60
|
+
throw new WebException(ex);
|
|
61
|
+
}
|
|
62
|
+
logExecutionAttempts(executionAttempts) {
|
|
63
|
+
if (executionAttempts > 1)
|
|
64
|
+
Logger.Instance.WriteServerToLog(NString.Format("Succeeded after {0} attempts ...", executionAttempts));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cENsaWVudEFzeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9odHRwL2NsaWVudC9IdHRwQ2xpZW50QXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGlCQUFpQixFQUE0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlGLE9BQU8sRUFBQyxPQUFPLEVBQVksTUFBTSxFQUFFLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUlwRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBQ2pELFlBQW9CLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUUxQyxDQUFDO0lBRUQsY0FBYztJQUdkLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUIsRUFBRSxRQUFpQixFQUFFLFdBQXdCLEVBQUUsUUFBZ0I7UUFFekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQzVCLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTlFLElBQUksQ0FBQyxRQUFRO1lBQ1gsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWhFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBeUIsRUFBRSxTQUFpQixFQUFF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QUFDO1lBQ2hFLElBQUksNEJBQTRCLENBQUMsc0JBQXNCLEVBQ3ZEO2dCQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxxQ0FBcUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNuRyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNsRCxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxFQUFFO1FBRXJCLE1BQU0sQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELG9CQUFvQixDQUFDLGlCQUF5QjtRQUU1QyxJQUFJLGlCQUFpQixHQUFHLENBQUM7WUFDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUM1RyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtOU3RyaW5nLCBSZWZQYXJhbSwgVGhyZWFkLCBXZWJFeGNlcHRpb259IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnRCYXNlLCBSZXF1ZXN0TWV0aG9kfSBmcm9tIFwiLi9IdHRwQ2xpZW50QmFzZVwiO1xyXG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyX0xvZ0xldmVscywgTG9nZ2VyX01lc3NhZ2VEaXJlY3Rpb24sIE1pc2N9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudEV2ZW50c30gZnJvbSBcIi4vSHR0cENsaWVudEV2ZW50c1wiO1xyXG5pbXBvcnQge0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyfSBmcm9tIFwiLi9JQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlclwiO1xyXG5cclxuLy8gQSBjbGFzcyB1c2luZyBIdHRwIEFzeW5jIExpYnJhcnlcclxuZXhwb3J0IGNsYXNzIEh0dHBDbGllbnRBc3luYyBleHRlbmRzIEh0dHBDbGllbnRCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlUmVxdWVzdCgpXHJcbiAge1xyXG4gICAgLy8gTm8gaW1wbGVtZW50YXRpb24gbmVlZGVkXHJcbiAgfVxyXG5cclxuICBhZGRIZWFkZXJzKHVybFN0cmluZzogc3RyaW5nLCB1c2VDYWNoZTogYm9vbGVhbiwgaHR0cEhlYWRlcnM6IEh0dHBIZWFkZXJzLCBjbGllbnRJRDogc3RyaW5nKTogSHR0cEhlYWRlcnNcclxuICB7XHJcbiAgICBpZiAoIXVybFN0cmluZy5zdGFydHNXaXRoKFwiL1wiKSlcclxuICAgICAgaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5hcHBlbmQoXCJNZ3hwYVJJQWdsb2JhbFVuaXF1ZVNlc3Npb25JRFwiLCBjbGllbnRJRCk7XHJcblxyXG4gICAgaWYgKCF1c2VDYWNoZSlcclxuICAgICAgaHR0cEhlYWRlcnMgPSBodHRwSGVhZGVycy5hcHBlbmQoXCJDYWNoZS1Db250cm9sXCIsICduby1jYWNoZScpO1xyXG5cclxuICAgIHJldHVybiBodHRwSGVhZGVycztcclxuICB9XHJcblxyXG4gIGFzeW5jIHNlbmRSZXF1ZXN0VG9TZXJ2ZXIoaHR0cE1ldGhvZDogUmVxdWVzdE1ldGhvZCwgdXJsU3RyaW5nOiBzdHJpbmcsIGh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycywgcmVxdWVzdENvbnRlbnQ6IHN0cmluZywgY29udGVudEZyb21TZXJ2ZXI6IFJlZlBhcmFtPHN0cmluZz4pOiBQcm9taXNlPGFueT4ge1xyXG4gICAgbGV0IGh0dHBSZXNwb25zZTogSHR0cFJlc3BvbnNlPHN0cmluZz4gPSBhd2FpdCB0aGlzLmh0dHBDbGllbnQucmVxdWVzdChSZXF1ZXN0TWV0aG9kW2h0dHBNZXRob2RdLCB1cmxTdHJpbmcsXHJcbiAgICAgIHtoZWFkZXJzOiBodHRwSGVhZGVycywgcmVzcG9uc2VUeXBlOiBcInRleHRcIiwgb2JzZXJ2ZTogXCJyZXNwb25zZVwiLCBib2R5OiByZXF1ZXN0Q29udGVudH0pLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGNvbnRlbnRGcm9tU2VydmVyLnZhbHVlID0gaHR0cFJlc3BvbnNlLmJvZHkgYXMgYW55O1xyXG5cclxuICAgIHJldHVybiBodHRwUmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBsb2dSZXNwb25zZShodHRwUmVzcG9uc2U6IEh0dHBSZXNwb25zZTxzdHJpbmc+LCBjbGllbnRJRDogc3RyaW5nLCB1cmxTdHJpbmc6IHN0cmluZywgY29udGVudEZyb21TZXJ2ZXI6IFJlZlBhcmFtPGFueT4sIHRpbWVCZWZvcmVSZXF1ZXN0OiBudW1iZXIpXHJcbiAge1xyXG4gICAgbGV0IHN0YXR1c0NvZGUgPSBodHRwUmVzcG9uc2VbJ3N0YXR1cyddO1xyXG5cclxuICAgIGxldCByZXNwb25zZVRpbWU6IG51bWJlciA9IE1pc2MuZ2V0U3lzdGVtTWlsbGlzZWNvbmRzKCkgLSB0aW1lQmVmb3JlUmVxdWVzdDtcclxuICAgIGlmIChMb2dnZXIuSW5zdGFuY2UuTG9nTGV2ZWwgPT09IExvZ2dlcl9Mb2dMZXZlbHMuQmFzaWMpXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUJhc2ljVG9Mb2coTG9nZ2VyX01lc3NhZ2VEaXJlY3Rpb24uTWVzc2FnZUVudGVyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEh0dHBDbGllbnRFdmVudHMuR2V0UnVudGltZUN0eElEKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSHR0cENsaWVudEV2ZW50cy5HZXRTZXNzaW9uQ291bnRlcigpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEh0dHBDbGllbnRFdmVudHMuU2hvdWxkRGlzcGxheUdlbmVyaWNFcnJvcigpID8gXCItXCIgOiBuZXcgVVJMKHVybFN0cmluZykuaG9zdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZVRpbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQ29kZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGh0dHBSZXNwb25zZS5oZWFkZXJzKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50RnJvbVNlcnZlci52YWx1ZS5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSHR0cEVycm9yRXhjZXB0aW9uKGV4OiBhbnksIHVybFN0cmluZzogc3RyaW5nKSB7XHJcbiAgICBpZiAoZXggaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSlcclxuICAgIHtcclxuICAgICAgbGV0IHN0YXR1c0NvZGUgPSBleFsnc3RhdHVzJ107XHJcbiAgICAgIGlmIChzdGF0dXNDb2RlID09PSA0MDQgfHwgc3RhdHVzQ29kZSA9PT0gNDAzKVxyXG4gICAgICAgIHRocm93IG5ldyBXZWJFeGNlcHRpb24obmV3IEVycm9yKFwiYmFkIFVSTDogXCIgKyB1cmxTdHJpbmcgKyBcIiAtIFN0YXR1c0NvZGUgPSBcIiArIHN0YXR1c0NvZGUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHNob3VsZFJldHJ5KGh0dHBDb21tdW5pY2F0aW9uVGltZW91dE1TOiBudW1iZXIsIHVybFN0cmluZzogc3RyaW5nLCBjb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyOiBJQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlciwgZXg6IGFueSwgc3RhcnRUaW1lUmVmOiBSZWZQYXJhbTxudW1iZXI+KTogUHJvbWlzZTxib29sZWFuPlxyXG4gIHtcclxuICAgIC8vIGRlbGF5IHRoZSB0b3RhbCBodHRwIHRpbWVvdXQgLyAxMC5cclxuICAgIGxldCBjdXJyZW50RGVsYXlNUyA9IE1hdGguZmxvb3IoaHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMgLyAxMCk7IC8vIG1zXHJcbiAgICBsZXQgaHR0cEVsYXBzZWRUaW1lTVM6IG51bWJlciA9IE1pc2MuZ2V0U3lzdGVtTWlsbGlzZWNvbmRzKCkgLSBzdGFydFRpbWVSZWYudmFsdWUgKyBjdXJyZW50RGVsYXlNUztcclxuXHJcbiAgICBpZiAoaHR0cEVsYXBzZWRUaW1lTVMgPD0gaHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMpXHJcbiAgICB7XHJcbiAgICAgIGF3YWl0IFRocmVhZC5TbGVlcChjdXJyZW50RGVsYXlNUyk7XHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVdhcm5pbmdUb0xvZ1dpdGhNc2coTlN0cmluZy5Gb3JtYXQoXCJSZXRyeWluZyB7MH0gOiBlbGFwc2VkIHRpbWUgezE6TjB9bXMgb3V0IG9mIHsyOk4wfW1zXCIsXHJcbiAgICAgICAgdXJsU3RyaW5nLCBodHRwRWxhcHNlZFRpbWVNUywgaHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMpKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlV2FybmluZ1RvTG9nV2l0aE1zZyhOU3RyaW5nLkZvcm1hdChcInswfSA6IGh0dHAgdGltZW91dCB7MTpOMH1tcyBleHBpcmVkXCIsIHVybFN0cmluZywgaHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMpKTtcclxuICAgIGlmIChjb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyICE9IG51bGwpXHJcbiAgICB7XHJcbiAgICAgIGNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIuQ29tbXVuaWNhdGlvbkZhaWxlZCh1cmxTdHJpbmcsIGV4KTtcclxuICAgICAgaWYgKGNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIuU2hvdWxkUmV0cnlMYXN0UmVxdWVzdClcclxuICAgICAge1xyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVNlcnZlclRvTG9nKE5TdHJpbmcuRm9ybWF0KFwiUmV0cnlpbmcgezB9LCBjb25maXJtZWQgYnkgdXNlciAuLi5cIiwgdXJsU3RyaW5nKSk7XHJcbiAgICAgICAgc3RhcnRUaW1lUmVmLnZhbHVlID0gTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKTtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGxvZ0FuZFRocm93RXhjZXB0aW9uKGV4KVxyXG4gIHtcclxuICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVdhcm5pbmdUb0xvZ1dpdGhNc2coXCJSZS10aHJvd2luZyAuLi5cIik7XHJcbiAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVXYXJuaW5nVG9Mb2coZXgpO1xyXG4gICAgdGhyb3cgbmV3IFdlYkV4Y2VwdGlvbihleCk7XHJcbiAgfVxyXG5cclxuICBsb2dFeGVjdXRpb25BdHRlbXB0cyhleGVjdXRpb25BdHRlbXB0czogbnVtYmVyKVxyXG4gIHtcclxuICAgIGlmIChleGVjdXRpb25BdHRlbXB0cyA+IDEpXHJcbiAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVNlcnZlclRvTG9nKE5TdHJpbmcuRm9ybWF0KFwiU3VjY2VlZGVkIGFmdGVyIHswfSBhdHRlbXB0cyAuLi5cIiwgZXhlY3V0aW9uQXR0ZW1wdHMpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { NString, RefParam, StringBuilder, isNullOrUndefined } from "@magic-xpa/mscorelib";
|
|
2
|
+
import { Logger, Logger_LogLevels, Logger_MessageDirection, Misc } from "@magic-xpa/utils";
|
|
3
|
+
import { HttpClientEvents } from "./HttpClientEvents";
|
|
4
|
+
import { HttpHeaders } from "@angular/common/http";
|
|
5
|
+
const HTTP_EXPECT100CONTINUE = "Expect100Continue";
|
|
6
|
+
const USE_HIGHEST_SECURITY_PROTOCOL = "UseHighestSecurityProtocol";
|
|
7
|
+
export var RequestMethod;
|
|
8
|
+
(function (RequestMethod) {
|
|
9
|
+
RequestMethod[RequestMethod["Get"] = 0] = "Get";
|
|
10
|
+
RequestMethod[RequestMethod["Post"] = 1] = "Post";
|
|
11
|
+
RequestMethod[RequestMethod["Put"] = 2] = "Put";
|
|
12
|
+
RequestMethod[RequestMethod["Delete"] = 3] = "Delete";
|
|
13
|
+
RequestMethod[RequestMethod["Options"] = 4] = "Options";
|
|
14
|
+
RequestMethod[RequestMethod["Head"] = 5] = "Head";
|
|
15
|
+
RequestMethod[RequestMethod["Patch"] = 6] = "Patch";
|
|
16
|
+
})(RequestMethod || (RequestMethod = {}));
|
|
17
|
+
export class HttpClientBase {
|
|
18
|
+
constructor() {
|
|
19
|
+
this._HTTPMaxURLLength = 2048;
|
|
20
|
+
this.CommunicationsFailureHandler = null;
|
|
21
|
+
this.CommunicationsFailureHandler = null;
|
|
22
|
+
}
|
|
23
|
+
DecideOnRequestMethod(requestContent, requestURL) {
|
|
24
|
+
let method = RequestMethod.Get;
|
|
25
|
+
if (requestContent === null) {
|
|
26
|
+
method = RequestMethod.Get;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (requestURL.value.length + 1 + requestContent.length <= this._HTTPMaxURLLength) {
|
|
30
|
+
requestURL.value = requestURL.value + "?" + requestContent;
|
|
31
|
+
method = RequestMethod.Get;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
method = RequestMethod.Post;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return method;
|
|
38
|
+
}
|
|
39
|
+
async GetContent(requestURL, requestContent, useCache) {
|
|
40
|
+
let contentFromServer = new RefParam(null);
|
|
41
|
+
let requestUrlRef = new RefParam(requestURL);
|
|
42
|
+
let httpMethod = this.DecideOnRequestMethod(requestContent, requestUrlRef);
|
|
43
|
+
requestURL = requestUrlRef.value;
|
|
44
|
+
try {
|
|
45
|
+
let response = await this.ExecuteHttpRequest(requestURL, requestContent, useCache, httpMethod, contentFromServer);
|
|
46
|
+
if (response != null) {
|
|
47
|
+
Logger.Instance.WriteServerToLog("Incoming Headers : " + HttpClientBase.HeadersToString(response.headers, true));
|
|
48
|
+
let nextSessionCounterString = response.headers.get("MgxpaNextSessionCounter".toLowerCase());
|
|
49
|
+
if (!isNullOrUndefined(nextSessionCounterString)) {
|
|
50
|
+
HttpClientEvents.CheckAndSetSessionCounter(+nextSessionCounterString);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (ex) {
|
|
55
|
+
Logger.Instance.WriteWarningToLog(ex);
|
|
56
|
+
throw ex;
|
|
57
|
+
}
|
|
58
|
+
return contentFromServer.value;
|
|
59
|
+
}
|
|
60
|
+
async ExecuteHttpRequest(urlString, requestContent, useCache, httpMethod, contentFromServer) {
|
|
61
|
+
let httpResponse = null;
|
|
62
|
+
this.prepareRequest();
|
|
63
|
+
let httpCommunicationTimeoutMS = HttpClientEvents.GetHttpCommunicationTimeout();
|
|
64
|
+
let clientID = HttpClientEvents.GetGlobalUniqueSessionID();
|
|
65
|
+
let executionAttempts = 0;
|
|
66
|
+
let startTime = Misc.getSystemMilliseconds();
|
|
67
|
+
while (true) {
|
|
68
|
+
executionAttempts++;
|
|
69
|
+
try {
|
|
70
|
+
let httpHeaders = new HttpHeaders();
|
|
71
|
+
httpHeaders = this.addHeaders(urlString, useCache, httpHeaders, clientID);
|
|
72
|
+
Logger.Instance.WriteServerToLog(NString.Format("Request Timeout set to {0} ms", httpCommunicationTimeoutMS));
|
|
73
|
+
if (Logger.Instance.LogLevel === Logger_LogLevels.Basic) {
|
|
74
|
+
let contentLength = 0;
|
|
75
|
+
if (httpMethod === RequestMethod.Get) {
|
|
76
|
+
let parts = urlString.split('?');
|
|
77
|
+
if (parts.length === 2)
|
|
78
|
+
contentLength = parts[1].length;
|
|
79
|
+
}
|
|
80
|
+
else
|
|
81
|
+
contentLength = requestContent.length;
|
|
82
|
+
Logger.Instance.WriteBasicToLog(Logger_MessageDirection.MessageLeaving, HttpClientEvents.GetRuntimeCtxID(), HttpClientEvents.GetSessionCounter(), clientID, HttpClientEvents.ShouldDisplayGenericError() ? "-" : new URL(urlString).host, 0, '-', JSON.stringify(httpHeaders), contentLength);
|
|
83
|
+
}
|
|
84
|
+
let timeBeforeRequest = Misc.getSystemMilliseconds();
|
|
85
|
+
Logger.Instance.WriteServerToLog(NString.Format("Accessing (method: '{0}'): '{1}'", httpMethod, urlString));
|
|
86
|
+
Logger.Instance.WriteServerToLog("Outgoing Headers : " + HttpClientBase.HeadersToString(httpHeaders, false));
|
|
87
|
+
if (httpMethod === RequestMethod.Post) {
|
|
88
|
+
}
|
|
89
|
+
let requestTime = Misc.getSystemMilliseconds();
|
|
90
|
+
this.LogRequestInfo(!isNullOrUndefined(requestContent) ? requestContent.length : 0, requestTime, false);
|
|
91
|
+
httpResponse = await this.sendRequestToServer(httpMethod, urlString, httpHeaders, requestContent, contentFromServer);
|
|
92
|
+
this.logResponse(httpResponse, clientID, urlString, contentFromServer, timeBeforeRequest);
|
|
93
|
+
this.LogRequestInfo(!isNullOrUndefined(requestContent) ? requestContent.length : 0, Misc.getSystemMilliseconds() - requestTime, true);
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
catch (ex) {
|
|
97
|
+
if (Logger.Instance.LogLevel === Logger_LogLevels.Basic)
|
|
98
|
+
Logger.Instance.WriteBasicErrorToLog();
|
|
99
|
+
else
|
|
100
|
+
Logger.Instance.WriteWarningToLog(ex);
|
|
101
|
+
this.handleHttpErrorException(ex, urlString);
|
|
102
|
+
let startTimeRef = new RefParam(startTime);
|
|
103
|
+
if (this.shouldRetry(httpCommunicationTimeoutMS, urlString, this.CommunicationsFailureHandler, ex, startTimeRef)) {
|
|
104
|
+
startTime = startTimeRef.value;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
this.logAndThrowException(ex);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.logExecutionAttempts(executionAttempts);
|
|
111
|
+
return httpResponse;
|
|
112
|
+
}
|
|
113
|
+
LogRequestInfo(contentLength, roundTrip, isLoggingResponse) {
|
|
114
|
+
if (Logger.Instance.LogLevel == Logger_LogLevels.RequestInfo) {
|
|
115
|
+
HttpClientEvents.ComputeAndLogRequestInfo(contentLength, roundTrip, isLoggingResponse);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
static HeadersToString(headers, bFilter) {
|
|
119
|
+
let headersStr = new StringBuilder();
|
|
120
|
+
let headerKeys = headers.keys();
|
|
121
|
+
for (let key in headerKeys) {
|
|
122
|
+
if (!bFilter || headerKeys[key].startsWith("Mg"))
|
|
123
|
+
headersStr.Append(NString.Format("{0}:{1} ", headerKeys[key], headers.get(headerKeys[key])));
|
|
124
|
+
}
|
|
125
|
+
return headersStr;
|
|
126
|
+
}
|
|
127
|
+
static GetHTTPExpect100Continue() {
|
|
128
|
+
let result = true;
|
|
129
|
+
let executionProperty = HttpClientEvents.GetExecutionProperty(HTTP_EXPECT100CONTINUE);
|
|
130
|
+
if (!NString.IsNullOrEmpty(executionProperty))
|
|
131
|
+
result = (executionProperty.toUpperCase() === "Y");
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
static GetUseHighestSecurityProtocol() {
|
|
135
|
+
let result = false;
|
|
136
|
+
let executionProperty = HttpClientEvents.GetExecutionProperty(USE_HIGHEST_SECURITY_PROTOCOL);
|
|
137
|
+
if (!NString.IsNullOrEmpty(executionProperty))
|
|
138
|
+
result = (executionProperty.toUpperCase() === "Y");
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
141
|
+
async sendRequestToServer(httpMethod, urlString, httpHeaders, requestContent, contentFromServer) {
|
|
142
|
+
return Promise.resolve();
|
|
143
|
+
}
|
|
144
|
+
async shouldRetry(httpCommunicationTimeoutMS, urlString, communicationsFailureHandler, ex, startTimeRef) {
|
|
145
|
+
return Promise.resolve(false);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cENsaWVudEJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2h0dHAvY2xpZW50L0h0dHBDbGllbnRCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFekYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBRy9ELE1BQU0sc0JBQXNCLEdBQVcsbUJBQW1CLENBQUM7QUFDM0QsTUFBTSw2QkFBNkIsR0FBVyw0QkFBNEIsQ0FBQztBQUUzRSxNQUFNLENBQU4sSUFBWSxhQVNYO0FBVEQsV0FBWSxhQUFhO0lBRXZCLCtDQUFPLENBQUE7SUFDUCxpREFBUSxDQUFBO0lBQ1IsK0NBQU8sQ0FBQTtJQUNQLHFEQUFVLENBQUE7SUFDVix1REFBVyxDQUFBO0lBQ1gsaURBQVEsQ0FBQTtJQUNSLG1EQUFTLENBQUE7QUFDWCxDQUFDLEVBVFcsYUFBYSxLQUFiLGFBQWEsUUFTeEI7QUFVRCxNQUFNLE9BQWdCLGNBQWM7SUFVbEM7UUFUUSxzQkFBaUIsR0FBVyxJQUFJLENBQUM7UUFPekMsaUNBQTRCLEdBQWtDLElBQUksQ0FBQztRQUdqRSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFPTyxxQkFBcUIsQ0FBQyxjQUFzQixFQUFFLFVBQTRCO1FBQ2hGLElBQUksTUFBTSxHQUFrQixhQUFhLENBQUMsR0FBRyxDQUFDO1FBRTlDLElBQUksY0FBYyxLQUFLLElBQUksRUFB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LENBQUM7UUFDM0IsSUFBSSxpQkFBaUIsR0FBVyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRzlGLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO1lBQzNDLE1BQU0sR0FBRyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRXJELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFLTyxNQUFNLENBQUMsNkJBQTZCO1FBQzFDLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQztRQUM1QixJQUFJLGlCQUFpQixHQUFXLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFHckcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7WUFDM0MsTUFBTSxHQUFHLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFckQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUtELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUF5QixFQUFFLFNBQWlCLEVBQUUsV0FBd0IsRUFBRSxjQUFzQixFQUFFLGlCQUFtQztRQUMzSixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsS0FBSyxDQUFDLFdBQVcsQ0FBQywwQkFBa0MsRUFBRSxTQUFpQixFQUFFLDRCQUEyRCxFQUFFLEVBQU8sRUFBRSxZQUE4QjtRQUMzSyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOU3RyaW5nLCBSZWZQYXJhbSwgU3RyaW5nQnVpbGRlciwgaXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyX0xvZ0xldmVscywgTG9nZ2VyX01lc3NhZ2VEaXJlY3Rpb24sIE1pc2N9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7SUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXJ9IGZyb20gXCIuL0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudEV2ZW50c30gZnJvbSBcIi4vSHR0cENsaWVudEV2ZW50c1wiO1xyXG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwUmVzcG9uc2V9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuLy8gZXhlY3V0aW9uIHByb3BlcnRpZXNcclxuY29uc3QgSFRUUF9FWFBFQ1QxMDBDT05USU5VRTogc3RyaW5nID0gXCJFeHBlY3QxMDBDb250aW51ZVwiOyAvLyBBZGQgSFRUUCBoZWFkZXIgXCJFeHBlY3Q6MTAwQ29udGludWVcIlxyXG5jb25zdCBVU0VfSElHSEVTVF9TRUNVUklUWV9QUk9UT0NPTDogc3RyaW5nID0gXCJVc2VIaWdoZXN0U2VjdXJpdHlQcm90b2NvbFwiOyAvLyBUaGlzIHByb3BlcnR5IGRlY2lkZXMgdG8gdXNlIFRMUyB2MS4yIChpbXBsZW1lbnRlZCBhdCAuTkVUIHY0LjUpIG9yIFRMUyB2MS4wXHJcblxyXG5leHBvcnQgZW51bSBSZXF1ZXN0TWV0aG9kXHJcbntcclxuICBHZXQgPSAwLFxyXG4gIFBvc3QgPSAxLFxyXG4gIFB1dCA9IDIsXHJcbiAgRGVsZXRlID0gMyxcclxuICBPcHRpb25zID0gNCxcclxuICBIZWFkID0gNSxcclxuICBQYXRjaCA9IDZcclxufVxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gdGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3I6XHJcbi8vLyAgICAoaSkgZGVjaWRpbmcgd2hpY2ggbWV0aG9kIHRvIHVzZSAoR0VUL1BPU1QpLlxyXG4vLy8gICAoaWkpIGhhbmRsaW5nIGNvbW11bmljYXRpb24gZmFpbHVyZXMuXHJcbi8vLyAgKGlpaSkgYWRkaW5nIEhUVFAgaGVhZGVycyB0byByZXF1ZXN0cy5cclxuLy8vICAoaVYpIHJldHJpZXZpbmcgSFRUUCBoZWFkZXJzIGZyb20gcmVzcG9uc2VzLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEh0dHBDbGllbnRCYXNlIHtcclxuICBwcml2YXRlIF9IVFRQTWF4VVJMTGVuZ3RoOiBudW1iZXIgPSAyMDQ4O1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEdldHMgb3Igc2V0cyBhIGhhbmRsZXIgZm9yIGNvbW11bmljYXRpb25zIGZhaWx1cmUuIFRoaXMgcHJvcGVydHkgbWF5IGJlXHJcbiAgLy8vIHNldCB0byBudWxsLCBpbiB3aGljaCBjYXNlIHRoZSBIdHRwQ2xpZW50QmFzZSB3aWxsIGF1dG9tYXRpY2FsbHkgZmFpbCBhZnRlclxyXG4gIC8vLyB0aGUgZmlyc3QgcmVjb25uZWN0aW9uIGF0dGVtcHQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyOiBJQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlciA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5Db21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gUmV0dXJucyB0aGUgcmVxdWVzdCBtZXRob2QgKFBPU1Qgb3IgR0VUKSBiYXNlZCBvbiBpdHMgY29udGVudHMgYW5kIGxlbmd0aC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJlcXVlc3RVUkxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBEZWNpZGVPblJlcXVlc3RNZXRob2QocmVxdWVzdENvbnRlbnQ6IHN0cmluZywgcmVxdWVzdFVSTDogUmVmUGFyYW08c3RyaW5nPik6IFJlcXVlc3RNZXRob2Qge1xyXG4gICAgbGV0IG1ldGhvZDogUmVxdWVzdE1ldGhvZCA9IFJlcXVlc3RNZXRob2QuR2V0O1xyXG5cclxuICAgIGlmIChyZXF1ZXN0Q29udGVudCA9PT0gbnVsbCkge1xyXG4gICAgICAvLyByZXF1ZXN0Q29udGVudCAoPT0gY29udGVudCB0byBiZSBzZW50IHRvIHNlcnZlcikgaXMgYWxsb3dlZCBvbmx5IGluIFBPU1QgcmVxdWVzdHMuIEluIGNhc2Ugbm8gY29udGVudCBpcyByZXF1aXJlZCwgb3B0IGZvciBHRVQgKGZvciB0aGUgYWZvcmVtZW50aW9uZWQgcGVyZm9ybWFuY2UgcmVhc29uKS5cclxuICAgICAgbWV0aG9kID0gUmVxdWVzdE1ldGhvZC5HZXQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHJlcXVlc3RVUkwudmFsdWUubGVuZ3RoICsgMSArIHJlcXVlc3RDb250ZW50Lmxlbmd0aCA8PSB0aGlzLl9IVFRQTWF4VVJMTGVuZ3RoKSB7XHJcbiAgICAgICAgLy8gYXBwZW5kIHRoZSByZXF1ZXN0IGNvbnRlbnQgdG8gdGhlIFVSTCwgYW5kIHN3aXRjaCB0byB1c2luZyBhIEdFVCByZXF1ZXN0LlxyXG4gICAgICAgIHJlcXVlc3RVUkwudmFsdWUgPSByZXF1ZXN0VVJMLnZhbHVlICsgXCI/XCIgKyByZXF1ZXN0Q29udGVudDtcclxuICAgICAgICBtZXRob2QgPSBSZXF1ZXN0TWV0aG9kLkdldDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBtZXRob2QgPSBSZXF1ZXN0TWV0aG9kLlBvc3Q7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbWV0aG9kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PkdldHMgY29udGVudHMgb2YgYSBVUkwsIHVzaW5nIGVpdGhlciBHRVQgb3IgUE9TVCBtZXRob2RzLlxyXG4gIC8vLyBUaGUgbWV0aG9kIGV4ZWN1dGVzIHRoZSBIVFRQIHJlcXVlc3QsIHJlYWRzIHRoZSByZXNwb25zZSBhbmQgcmV0dXJuIHRoZSBjb250ZW50LlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicmVxdWVzdFVSTFwiPlVSTCB0byBiZSBhY2Nlc3NlZC48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJlcXVlc3RDb250ZW50XCI+Y29udGVudCB0byBiZSBzZW50IHRvIHNlcnZlciAocmVsZXZhbnQgb25seSBmb3IgUE9TVCBtZXRob2QgLSBpcyBudWxsIGZvciBvdGhlciBtZXRob2RzKS48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5yZXNwb25zZSAoZnJvbSB0aGUgc2VydmVyKS48L3JldHVybnM+XHJcbiAgYXN5bmMgR2V0Q29udGVudChyZXF1ZXN0VVJMOiBzdHJpbmcsIHJlcXVlc3RDb250ZW50OiBhbnksIHVzZUNhY2hlOiBib29sZWFuKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGxldCBjb250ZW50RnJvbVNlcnZlcjogUmVmUGFyYW08c3RyaW5nPiA9IG5ldyBSZWZQYXJhbShudWxsKTtcclxuICAgIGxldCByZXF1ZXN0VXJsUmVmOiBSZWZQYXJhbTxzdHJpbmc+ID0gbmV3IFJlZlBhcmFtKHJlcXVlc3RVUkwpO1xyXG5cclxuICAgIGxldCBodHRwTWV0aG9kOiBSZXF1ZXN0TWV0aG9kID0gdGhpcy5EZWNpZGVPblJlcXVlc3RNZXRob2QocmVxdWVzdENvbnRlbnQsIHJlcXVlc3RVcmxSZWYpO1xyXG4gICAgcmVxdWVzdFVSTCA9IHJlcXVlc3RVcmxSZWYudmFsdWU7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gRXhlY3V0ZSB0aGUgaHR0cCByZXF1ZXN0XHJcbiAgICAgIGxldCByZXNwb25zZTogSHR0cFJlc3BvbnNlPHN0cmluZz4gPSBhd2FpdCB0aGlzLkV4ZWN1dGVIdHRwUmVxdWVzdChyZXF1ZXN0VVJMLCByZXF1ZXN0Q29udGVudCwgdXNlQ2FjaGUsIGh0dHBNZXRob2QsIGNvbnRlbnRGcm9tU2VydmVyKTtcclxuXHJcbiAgICAgIGlmKHJlc3BvbnNlICE9IG51bGwpIHtcclxuICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVTZXJ2ZXJUb0xvZyhcIkluY29taW5nIEhlYWRlcnMgOiBcIiArIEh0dHBDbGllbnRCYXNlLkhlYWRlcnNUb1N0cmluZyhyZXNwb25zZS5oZWFkZXJzLCB0cnVlKSk7XHJcblxyXG4gICAgICAgIC8vIHNldCB0aGUgbmV4dCBzZXNzaW9uIGNvdW50ZXIgKHdoaWNoIHdpbGwgYmUgZXhwZWN0ZWQgYnkgdGhlIHNlcnZlciBpbiB0aGUgbmV4dCByZXF1ZXN0KS5cclxuICAgICAgICBsZXQgbmV4dFNlc3Npb25Db3VudGVyU3RyaW5nOiBzdHJpbmcgPSByZXNwb25zZS5oZWFkZXJzLmdldChcIk1neHBhTmV4dFNlc3Npb25Db3VudGVyXCIudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChuZXh0U2Vzc2lvbkNvdW50ZXJTdHJpbmcpKSB7XHJcbiAgICAgICAgICBIdHRwQ2xpZW50RXZlbnRzLkNoZWNrQW5kU2V0U2Vzc2lvbkNvdW50ZXIoK25leHRTZXNzaW9uQ291bnRlclN0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlV2FybmluZ1RvTG9nKGV4KTtcclxuICAgICAgdGhyb3cgZXg7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRGcm9tU2VydmVyLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlRoaXMgZnVuY3Rpb24gZXhlY3V0ZXMgdGhlIEhUVFAgcmVxdWVzdCBhbmQgbWFrZSB0aGUgcmVzcG9uc2Ugb2JqZWN0LiBJdCBjYW4gZXhlY3V0ZVxyXG4gIC8vLyAgIEdFVCBvciBQT1NUIHJlcXVlc3QuIEluIGNhc2Ugb2YgUE9TVCByZXF1ZXN0IHRoZSB2YXJpYWJsZXMgdG8gc2VydmVyIHdpbGwgY29udGFpbiB0aGVcclxuICAvLy8gICB2YXJpYWJsZXMgdG8gYmUgc2VuZCB0byB0aGUgc2VydmVyLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidXJsU3RyaW5nXCI+VVJMIHRvIGJlIGFjY2Vzc2VkLjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicmVxdWVzdENvbnRlbnRcIj5jb250ZW50IHRvIGJlIHNlbnQgdG8gc2VydmVyIChyZWxldmFudCBvbmx5IGZvciBQT1NUIG1ldGhvZCAtIGlzIG51bGwgZm9yIG90aGVyIG1ldGhvZHMpLjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaHR0cE1ldGhvZFwiPmVudW0gUmVxdWVzdE1ldGhvZCB0byBzcGVjaWZ5IHRoZSBtZXRob2QgdGhhdCB3aWxsIGJlIHVzZWQgdG8gZXhlY3V0ZSB0aGUgcmVxdWVzdC48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRlbnRGcm9tU2VydmVyXCI+Y29udGVudCByZWNlaXZlZCBmcm9tIHRoZSByZXNwb25zZS4gW09VVF08L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBhc3luYyBFeGVjdXRlSHR0cFJlcXVlc3QodXJsU3RyaW5nOiBzdHJpbmcsIHJlcXVlc3RDb250ZW50OiBzdHJpbmcsIHVzZUNhY2hlOiBib29sZWFuLCBodHRwTWV0aG9kOiBSZXF1ZXN0TWV0aG9kLCBjb250ZW50RnJvbVNlcnZlcjogUmVmUGFyYW08YW55Pik6IFByb21pc2U8SHR0cFJlc3BvbnNlPHN0cmluZz4+XHJcbiAge1xyXG4gICAgbGV0IGh0dHBSZXNwb25zZTogSHR0cFJlc3BvbnNlPHN0cmluZz4gPSBudWxsO1xyXG5cclxuICAgIHRoaXMucHJlcGFyZVJlcXVlc3QoKTtcclxuXHJcbiAgICBsZXQgaHR0cENvbW11bmljYXRpb25UaW1lb3V0TVM6IG51bWJlciA9IEh0dHBDbGllbnRFdmVudHMuR2V0SHR0cENvbW11bmljYXRpb25UaW1lb3V0KCk7XHJcbiAgICBsZXQgY2xpZW50SUQ6IHN0cmluZyA9IEh0dHBDbGllbnRFdmVudHMuR2V0R2xvYmFsVW5pcXVlU2Vzc2lvbklEKCk7XHJcblxyXG4gICAgbGV0IGV4ZWN1dGlvbkF0dGVtcHRzOiBudW1iZXIgPSAwOyAgLy8gZm9yIGxvZ2dpbmcgcHVycG9zZSBvbmx5LlxyXG5cclxuICAgIGxldCBzdGFydFRpbWU6IG51bWJlciA9IE1pc2MuZ2V0U3lzdGVtTWlsbGlzZWNvbmRzKCk7XHJcblxyXG4gICAgLy8gUmV0cnlpbmc6XHJcbiAgICAvLyAgICBJcyBjb250cm9sbGVkIGJ5OlxyXG4gICAgLy8gICAgICAgKEkpICBUaGUgbWV0aG9kIHZhcmlhYmxlICdodHRwQ29tbXVuaWNhdGlvblRpbWVvdXRNUycgKGFib3ZlKSxcclxuICAgIC8vICAgICAgIChJSSkgVGhlIGNsYXNzIG1lbWJlciAnQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlcicgKGFib3ZlKS5cclxuICAgIHdoaWxlICh0cnVlKSB7XHJcbiAgICAgIGV4ZWN1dGlvbkF0dGVtcHRzKys7XHJcblxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIFRPRE86IGltcGxlbWVudCBUTFMgcHJvdG9jb2wuXHJcbiAgICAgICAgLy8gbGV0IHVzZUhpZ2hlc3RTZWN1cml0eVByb3RvY29sOiBib29sZWFuID0gSHR0cENsaWVudEJhc2UuR2V0VXNlSGlnaGVzdFNlY3VyaXR5UHJvdG9jb2woKTtcclxuICAgICAgICAvLyBpZiAodXNlSGlnaGVzdFNlY3VyaXR5UHJvdG9jb2wpIHtcclxuICAgICAgICAvLyAgIFNlcnZpY2VQb2ludE1hbmFnZXIuU2VjdXJpdHlQcm90b2NvbCA9IFNlY3VyaXR5UHJvdG9jb2xUeXBlLlRsczEyO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgLy8gRG8gbm90IGFkZCBNZ3hwYVJJQWdsb2JhbFVuaXF1ZVNlc3Npb25JRCB3aGlsZSBnZXR0aW5nIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzXHJcbiAgICAgICAgLy8gVE9ETzogaGVhZGVycyBzaG91bGQgbm90IGJlIHNlbnQgZm9yIGNhY2hlZCBmaWxlIHJlcXVlc3RzXHJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xyXG5cclxuICAgICAgICBodHRwSGVhZGVycyA9IHRoaXMuYWRkSGVhZGVycyh1cmxTdHJpbmcsIHVzZUNhY2hlLCBodHRwSGVhZGVycywgY2xpZW50SUQpO1xyXG5cclxuICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVTZXJ2ZXJUb0xvZyhOU3RyaW5nLkZvcm1hdChcIlJlcXVlc3QgVGltZW91dCBzZXQgdG8gezB9IG1zXCIsIGh0dHBDb21tdW5pY2F0aW9uVGltZW91dE1TKSk7XHJcblxyXG4gICAgICAgIGlmIChMb2dnZXIuSW5zdGFuY2UuTG9nTGV2ZWwgPT09IExvZ2dlcl9Mb2dMZXZlbHMuQmFzaWMpIHtcclxuICAgICAgICAgIGxldCBjb250ZW50TGVuZ3RoOiBudW1iZXIgPSAwO1xyXG4gICAgICAgICAgaWYgKGh0dHBNZXRob2QgPT09IFJlcXVlc3RNZXRob2QuR2V0KSB7XHJcbiAgICAgICAgICAgIGxldCBwYXJ0czogc3RyaW5nW10gPSB1cmxTdHJpbmcuc3BsaXQoJz8nKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDIpXHJcbiAgICAgICAgICAgICAgY29udGVudExlbmd0aCA9IHBhcnRzWzFdLmxlbmd0aDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgLy8gKGh0dHBSZXF1ZXN0Lm1ldGhvZCA9PT0gUmVxdWVzdE1ldGhvZC5Qb3N0KVxyXG4gICAgICAgICAgICBjb250ZW50TGVuZ3RoID0gcmVxdWVzdENvbnRlbnQubGVuZ3RoO1xyXG5cclxuICAgICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUJhc2ljVG9Mb2coTG9nZ2VyX01lc3NhZ2VEaXJlY3Rpb24uTWVzc2FnZUxlYXZpbmcsXHJcbiAgICAgICAgICAgIEh0dHBDbGllbnRFdmVudHMuR2V0UnVudGltZUN0eElEKCksXHJcbiAgICAgICAgICAgIEh0dHBDbGllbnRFdmVudHMuR2V0U2Vzc2lvbkNvdW50ZXIoKSxcclxuICAgICAgICAgICAgY2xpZW50SUQsXHJcbiAgICAgICAgICAgIEh0dHBDbGllbnRFdmVudHMuU2hvdWxkRGlzcGxheUdlbmVyaWNFcnJvcigpID8gXCItXCIgOiBuZXcgVVJMKHVybFN0cmluZykuaG9zdCxcclxuICAgICAgICAgICAgMCxcclxuICAgICAgICAgICAgJy0nLFxyXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShodHRwSGVhZGVycyksXHJcbiAgICAgICAgICAgIGNvbnRlbnRMZW5ndGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHRpbWVCZWZvcmVSZXF1ZXN0OiBudW1iZXIgPSBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpO1xyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVNlcnZlclRvTG9nKE5TdHJpbmcuRm9ybWF0KFwiQWNjZXNzaW5nIChtZXRob2Q6ICd7MH0nKTogJ3sxfSdcIiwgaHR0cE1ldGhvZCwgdXJsU3RyaW5nKSk7XHJcblxyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZVNlcnZlclRvTG9nKFwiT3V0Z29pbmcgSGVhZGVycyA6IFwiICsgSHR0cENsaWVudEJhc2UuSGVhZGVyc1RvU3RyaW5nKGh0dHBIZWFkZXJzLCBmYWxzZSkpO1xyXG5cclxuICAgICAgICBpZiAoaHR0cE1ldGhvZCA9PT0gUmVxdWVzdE1ldGhvZC5Qb3N0KSB7XHJcbiAgICAgICAgICAvLyBUT0RPOiBIYW5kbGUgRXhwZWN0MTAwQ29udGludWUuXHJcbiAgICAgICAgICAvLyBodHRwV2ViUmVxdWVzdC5TZXJ2aWNlUG9pbnQuRXhwZWN0MTAwQ29udGludWUgPSB0aGlzLkdldEhUVFBFeHBlY3QxMDBDb250aW51ZSgpO1xyXG4gICAgICAgICAgLy8gdGhpcy5Xcml0ZUNvbnRlbnRUb1JlcXVlc3QocmVxdWVzdENvbnRlbnQsIGh0dHBXZWJSZXF1ZXN0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgICAgICAvLyBzZW5kIHRoZSByZXF1ZXN0ICYgZ2V0IHRoZSByZXNwb25zZTpcclxuICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgICAgICAgLy8gVE9ETyA6IEhhbmRsZSBlcnJvcnNcclxuICAgICAgICAvLyBUT0RPOiBIYW5kbGUgdGltZW91dFxyXG5cclxuICAgICAgICBsZXQgcmVxdWVzdFRpbWU6bnVtYmVyID0gTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5Mb2dSZXF1ZXN0SW5mbyghaXNOdWxsT3JVbmRlZmluZWQocmVxdWVzdENvbnRlbnQpID8gcmVxdWVzdENvbnRlbnQubGVuZ3RoIDogMCwgcmVxdWVzdFRpbWUsIGZhbHNlKTtcclxuXHJcbiAgICAgICAgaHR0cFJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZW5kUmVxdWVzdFRvU2VydmVyKGh0dHBNZXRob2QsIHVybFN0cmluZywgaHR0cEhlYWRlcnMsIHJlcXVlc3RDb250ZW50LCBjb250ZW50RnJvbVNlcnZlcik7XHJcblxyXG4gICAgICAgIHRoaXMubG9nUmVzcG9uc2UoaHR0cFJlc3BvbnNlLCBjbGllbnRJRCwgdXJsU3RyaW5nLCBjb250ZW50RnJvbVNlcnZlciwgdGltZUJlZm9yZVJlcXVlc3QpO1xyXG5cclxuICAgICAgICB0aGlzLkxvZ1JlcXVlc3RJbmZvKCFpc051bGxPclVuZGVmaW5lZChyZXF1ZXN0Q29udGVudCkgPyByZXF1ZXN0Q29udGVudC5sZW5ndGggOiAwLCBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpIC0gcmVxdWVzdFRpbWUsIHRydWUpO1xyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZXgpIHtcclxuICAgICAgICBpZiAoTG9nZ2VyLkluc3RhbmNlLkxvZ0xldmVsID09PSBMb2dnZXJfTG9nTGV2ZWxzLkJhc2ljKVxyXG4gICAgICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlQmFzaWNFcnJvclRvTG9nKCk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlV2FybmluZ1RvTG9nKGV4KTtcclxuXHJcbiAgICAgICAgdGhpcy5oYW5kbGVIdHRwRXJyb3JFeGNlcHRpb24oZXgsIHVybFN0cmluZyk7XHJcblxyXG4gICAgICAgIGxldCBzdGFydFRpbWVSZWY6IFJlZlBhcmFtPG51bWJlcj4gPSBuZXcgUmVmUGFyYW08bnVtYmVyPihzdGFydFRpbWUpO1xyXG4gICAgICAgIGlmKHRoaXMuc2hvdWxkUmV0cnkoaHR0cENvbW11bmljYXRpb25UaW1lb3V0TVMsIHVybFN0cmluZywgdGhpcy5Db21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLCBleCwgc3RhcnRUaW1lUmVmKSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICBzdGFydFRpbWUgPSBzdGFydFRpbWVSZWYudmFsdWU7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubG9nQW5kVGhyb3dFeGNlcHRpb24oZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2dFeGVjdXRpb25BdHRlbXB0cyhleGVjdXRpb25BdHRlbXB0cyk7XHJcblxyXG4gICAgcmV0dXJuIGh0dHBSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gTG9nIHRoZSByZXF1ZXN0IGluZm8gd2hpbGUgc2VuZGluZyByZXF1ZXN0L2FmdGVyIHJlY2VpdmluZyByZXNwb25zZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBMb2dSZXF1ZXN0SW5mbyhjb250ZW50TGVuZ3RoOiBudW1iZXIsIHJvdW5kVHJpcDogbnVtYmVyLCBpc0xvZ2dpbmdSZXNwb25zZTogYm9vbGVhbikge1xyXG4gICAgaWYgKExvZ2dlci5JbnN0YW5jZS5Mb2dMZXZlbCA9PSBMb2dnZXJfTG9nTGV2ZWxzLlJlcXVlc3RJbmZvKSB7XHJcbiAgICAgIEh0dHBDbGllbnRFdmVudHMuQ29tcHV0ZUFuZExvZ1JlcXVlc3RJbmZvKGNvbnRlbnRMZW5ndGgsIHJvdW5kVHJpcCwgaXNMb2dnaW5nUmVzcG9uc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PldyaXRlIE1nKiBwcmVmaXhlZCBoZWFkZXJzIHRvIHN0cmluZyBpbiBmb3JtYXQgXCJIRUFERVIxOlZBTFVFMSBIRUFERVIyOlZBTFVFMiAuLi5cIjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoZWFkZXJzXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJiRmlsdGVyXCI+aWYgdHJ1ZSwgbGlzdCBvbmx5IGhlYWRlcnMgcHJlZml4ZWQgd2l0aCBcIk1nXCI8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIEhlYWRlcnNUb1N0cmluZyhoZWFkZXJzOiBIdHRwSGVhZGVycywgYkZpbHRlcjogYm9vbGVhbik6IFN0cmluZ0J1aWxkZXIge1xyXG4gICAgbGV0IGhlYWRlcnNTdHI6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG4gICAgbGV0IGhlYWRlcktleXM6IHN0cmluZ1tdID0gaGVhZGVycy5rZXlzKCk7XHJcblxyXG4gICAgZm9yIChsZXQga2V5IGluIGhlYWRlcktleXMpIHtcclxuICAgICAgLy8gZmlsdGVyIG9ubHkgaGVhZGVycyB0aGF0IGFyZSBwcmVmaXhlZCB3aXRoIE1nKiAoc2VudCBmcm9tIHRoZSBNaWRkbGV3YXJlIGFuZCBTZXJ2ZXIpOlxyXG4gICAgICBpZiAoIWJGaWx0ZXIgfHwgaGVhZGVyS2V5c1trZXldLnN0YXJ0c1dpdGgoXCJNZ1wiKSlcclxuICAgICAgICBoZWFkZXJzU3RyLkFwcGVuZChOU3RyaW5nLkZvcm1hdChcInswfTp7MX0gXCIsIGhlYWRlcktleXNba2V5XSwgaGVhZGVycy5nZXQoaGVhZGVyS2V5c1trZXldKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBoZWFkZXJzU3RyO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlJldHVybiB0aGUgcHJvcGVydHkgd2hpY2ggZGVjaWRlIHdoZXRoZXIgdG8gc2V0IEhUVFAgaGVhZGVyIFwiRXhwZWN0OjEwMENvbnRpbnVlXCI8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPmJvb2w8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgR2V0SFRUUEV4cGVjdDEwMENvbnRpbnVlKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHJlc3VsdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBsZXQgZXhlY3V0aW9uUHJvcGVydHk6IHN0cmluZyA9IEh0dHBDbGllbnRFdmVudHMuR2V0RXhlY3V0aW9uUHJvcGVydHkoSFRUUF9FWFBFQ1QxMDBDT05USU5VRSk7XHJcblxyXG4gICAgLy8gSW4gY2FzZSB0aGUgcHJvcGVydHkgaXMgbm90IGdpdmVuIGluIHRoZSBleGVjdXRpb24gcHJvcGVydGllcywgaXQgc2hvdWxkIGRlZmF1bHQgdG8gdHJ1ZVxyXG4gICAgaWYgKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkoZXhlY3V0aW9uUHJvcGVydHkpKVxyXG4gICAgICByZXN1bHQgPSAoZXhlY3V0aW9uUHJvcGVydHkudG9VcHBlckNhc2UoKSA9PT0gXCJZXCIpO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+UmV0dXJuIHRoZSBwcm9wZXJ0eSB3aGljaCBhbGxvd3MgdG8gdXNlIFRMUyB2MS4yIChpbXBsZW1lbnRlZCBhdCAuTkVUIHY0LjUpIGFzIGEgaGlnaGVzdCBUTFMgcHJvdG9jb2wgdmVyc2lvbi5cclxuICAvLy8gT3RoZXJ3aXNlIHVzZSBUTFMgdjEuMCBhcyBhIGhpZ2hlc3QgVExTIHByb3RvY29sIHZlcnNpb248L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPmJvb2w8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgR2V0VXNlSGlnaGVzdFNlY3VyaXR5UHJvdG9jb2woKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsZXQgZXhlY3V0aW9uUHJvcGVydHk6IHN0cmluZyA9IEh0dHBDbGllbnRFdmVudHMuR2V0RXhlY3V0aW9uUHJvcGVydHkoVVNFX0hJR0hFU1RfU0VDVVJJVFlfUFJPVE9DT0wpO1xyXG5cclxuICAgIC8vIEluIGNhc2UgdGhlIHByb3BlcnR5IGlzIG5vdCBnaXZlbiBpbiB0aGUgZXhlY3V0aW9uIHByb3BlcnRpZXMsIGl0IHNob3VsZCBkZWZhdWx0IHRvIGZhbHNlIChhIGhpZ2hlc3QgVExTIHByb3RvY29sIHZlcnNpb24gaXMgdjEuMClcclxuICAgIGlmICghTlN0cmluZy5Jc051bGxPckVtcHR5KGV4ZWN1dGlvblByb3BlcnR5KSlcclxuICAgICAgcmVzdWx0ID0gKGV4ZWN1dGlvblByb3BlcnR5LnRvVXBwZXJDYXNlKCkgPT09IFwiWVwiKTtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8gQWJzdHJhY3QgbWV0aG9kc1xyXG4gIGFic3RyYWN0IHByZXBhcmVSZXF1ZXN0KCk7XHJcbiAgYWJzdHJhY3QgYWRkSGVhZGVycyh1cmxTdHJpbmc6IHN0cmluZywgdXNlQ2FjaGU6IGJvb2xlYW4sIGh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycywgY2xpZW50SUQ6IHN0cmluZyk6IEh0dHBIZWFkZXJzO1xyXG4gIGFzeW5jIHNlbmRSZXF1ZXN0VG9TZXJ2ZXIoaHR0cE1ldGhvZDogUmVxdWVzdE1ldGhvZCwgdXJsU3RyaW5nOiBzdHJpbmcsIGh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycywgcmVxdWVzdENvbnRlbnQ6IHN0cmluZywgY29udGVudEZyb21TZXJ2ZXI6IFJlZlBhcmFtPHN0cmluZz4pOiBQcm9taXNlPGFueT57XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG4gIGFic3RyYWN0IGxvZ1Jlc3BvbnNlKGh0dHBSZXNwb25zZTogSHR0cFJlc3BvbnNlPHN0cmluZz4sIGNsaWVudElEOiBzdHJpbmcsIHVybFN0cmluZzogc3RyaW5nLCBjb250ZW50RnJvbVNlcnZlcjogUmVmUGFyYW08YW55PiwgdGltZUJlZm9yZVJlcXVlc3Q6IG51bWJlcik7XHJcbiAgYWJzdHJhY3QgaGFuZGxlSHR0cEVycm9yRXhjZXB0aW9uKGV4OiBhbnksIHVybFN0cmluZzogc3RyaW5nKTtcclxuICBhc3luYyBzaG91bGRSZXRyeShodHRwQ29tbXVuaWNhdGlvblRpbWVvdXRNUzogbnVtYmVyLCB1cmxTdHJpbmc6IHN0cmluZywgY29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlcjogSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIsIGV4OiBhbnksIHN0YXJ0VGltZVJlZjogUmVmUGFyYW08bnVtYmVyPik6IFByb21pc2U8Ym9vbGVhbj57XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICB9XHJcbiAgYWJzdHJhY3QgbG9nQW5kVGhyb3dFeGNlcHRpb24oZXg6IGFueSk7XHJcbiAgYWJzdHJhY3QgbG9nRXhlY3V0aW9uQXR0ZW1wdHMoZXhlY3V0aW9uQXR0ZW1wdHM6IG51bWJlcik7XHJcbn1cclxuIl19
|
package/{esm2015/src/http/client/HttpClientEvents.js → esm2020/src/http/client/HttpClientEvents.mjs}
RENAMED
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NString } from "@magic-xpa/mscorelib";
|
|
2
|
+
import { HttpClientBase } from "./HttpClientBase";
|
|
3
|
+
import { Logger, Logger_LogLevels, Logger_MessageDirection, Misc } from "@magic-xpa/utils";
|
|
4
|
+
import { HttpClientEvents } from "./HttpClientEvents";
|
|
5
|
+
export class HttpClientSync extends HttpClientBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.httpRequest = null;
|
|
9
|
+
this.headers = new Headers();
|
|
10
|
+
}
|
|
11
|
+
prepareRequest() {
|
|
12
|
+
}
|
|
13
|
+
addHeaders(urlString, useCache, httpHeaders, clientID) {
|
|
14
|
+
if (!urlString.startsWith("/")) {
|
|
15
|
+
this.headers.append("MgxpaRIAglobalUniqueSessionID", clientID);
|
|
16
|
+
}
|
|
17
|
+
if (!useCache) {
|
|
18
|
+
this.headers.append("Cache-Control", "no-cache");
|
|
19
|
+
}
|
|
20
|
+
return httpHeaders;
|
|
21
|
+
}
|
|
22
|
+
async sendRequestToServer(httpMethod, urlString, httpHeaders, requestContent, contentFromServer) {
|
|
23
|
+
await fetch(urlString, { method: 'POST', headers: this.headers, body: requestContent, keepalive: true });
|
|
24
|
+
return NString.Empty;
|
|
25
|
+
}
|
|
26
|
+
logResponse(httpResponse, clientID, urlString, contentFromServer, timeBeforeRequest) {
|
|
27
|
+
let responseTime = Misc.getSystemMilliseconds() - timeBeforeRequest;
|
|
28
|
+
if (Logger.Instance.LogLevel === Logger_LogLevels.Basic)
|
|
29
|
+
Logger.Instance.WriteBasicToLog(Logger_MessageDirection.MessageEntering, HttpClientEvents.GetRuntimeCtxID(), HttpClientEvents.GetSessionCounter(), clientID, HttpClientEvents.ShouldDisplayGenericError() ? "-" : new URL(urlString).host, responseTime, this.httpRequest.status.toString(), JSON.stringify(this.httpRequest.getAllResponseHeaders()), contentFromServer.value.length);
|
|
30
|
+
}
|
|
31
|
+
handleHttpErrorException(ex, urlString) {
|
|
32
|
+
throw ex;
|
|
33
|
+
}
|
|
34
|
+
async shouldRetry(httpCommunicationTimeoutMS, urlString, communicationsFailureHandler, ex, startTimeRef) {
|
|
35
|
+
return Promise.resolve(false);
|
|
36
|
+
}
|
|
37
|
+
logAndThrowException(ex) {
|
|
38
|
+
}
|
|
39
|
+
logExecutionAttempts(executionAttempts) {
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cENsaWVudFN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2h0dHAvY2xpZW50L0h0dHBDbGllbnRTeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFnQixNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDekYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFJcEQsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBS2hEO1FBRUUsS0FBSyxFQUFFLENBQUM7UUFMRixnQkFBVyxHQUFtQixJQUFJLENBQUM7UUFDbkMsWUFBTyxHQUFZLElBQUksT0FBTyxFQUFFLENBQUM7SUFLekMsQ0FBQztJQUVELGNBQWM7SUFFZCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWlCLEVBQUUsUUFBaUIsRUFBRSxXQUF3QixFQUFFLFFBQWdCO1FBRXpGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUM5QjtZQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLCtCQUErQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxDQUFDLFFBQVEsRUFDYjtZQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUNsRDtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsVUFBeUIsRUFBRSxTQUFpQixFQUFFLFdBQXdCLEVBQUUsY0FBc0IsRUFBRSxpQkFBbUM7UUFHM0osTUFBTSxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhHLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVyxDQUFDLFlBQWtDLEVBQUUsUUFBZ0IsRUFBRSxTQUFpQixFQUFFLGlCQUFnQyxFQUFFLGlCQUF5QjtRQUU5SSxJQUFJLFlBQVksR0FBVyxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztRQUU1RSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLGdCQUFnQixDQUFDLEtBQUs7WUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUN2QyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsRUFDbEMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsRUFDcEMsUUFBUSxFQUNSLGdCQUFnQixDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUM1RSxZQUFZLEVBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEVBQ3hELGlCQUFpQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsd0JBQXdCLENBQUMsRUFBTyxFQUFFLFNBQWlCO1FBR2pELE1BQU0sRUFBRSxDQUFDO0lBQ1gsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsMEJBQWtDLEVBQUUsU0FBaUIsRUFBRSw0QkFBMkQsRUFBRSxFQUFPLEVBQUUsWUFBOEI7UUFHM0ssT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxFQUFFO0lBR3ZCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxpQkFBeUI7SUFHOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHtOU3RyaW5nLCBSZWZQYXJhbX0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudEJhc2UsIFJlcXVlc3RNZXRob2R9IGZyb20gXCIuL0h0dHBDbGllbnRCYXNlXCI7XHJcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJfTG9nTGV2ZWxzLCBMb2dnZXJfTWVzc2FnZURpcmVjdGlvbiwgTWlzY30gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtIdHRwQ2xpZW50RXZlbnRzfSBmcm9tIFwiLi9IdHRwQ2xpZW50RXZlbnRzXCI7XHJcbmltcG9ydCB7SUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXJ9IGZyb20gXCIuL0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyXCI7XHJcblxyXG4vLyBBIGNsYXNzIHVzaW5nIEh0dHAgU3luYyBMaWJyYXJ5XHJcbmV4cG9ydCBjbGFzcyBIdHRwQ2xpZW50U3luYyBleHRlbmRzIEh0dHBDbGllbnRCYXNlXHJcbntcclxuICBwcml2YXRlIGh0dHBSZXF1ZXN0OiBYTUxIdHRwUmVxdWVzdCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBoZWFkZXJzOiBIZWFkZXJzID0gbmV3IEhlYWRlcnMoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKVxyXG4gIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlUmVxdWVzdCgpXHJcbiAge1xyXG4gIH1cclxuXHJcbiAgYWRkSGVhZGVycyh1cmxTdHJpbmc6IHN0cmluZywgdXNlQ2FjaGU6IGJvb2xlYW4sIGh0dHBIZWFkZXJzOiBIdHRwSGVhZGVycywgY2xpZW50SUQ6IHN0cmluZyk6IEh0dHBIZWFkZXJzXHJcbiAge1xyXG4gICAgaWYgKCF1cmxTdHJpbmcuc3RhcnRzV2l0aChcIi9cIikpXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuaGVhZGVycy5hcHBlbmQoXCJNZ3hwYVJJQWdsb2JhbFVuaXF1ZVNlc3Npb25JRFwiLCBjbGllbnRJRCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF1c2VDYWNoZSlcclxuICAgIHtcclxuICAgICAgdGhpcy5oZWFkZXJzLmFwcGVuZChcIkNhY2hlLUNvbnRyb2xcIiwgXCJuby1jYWNoZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaHR0cEhlYWRlcnM7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzZW5kUmVxdWVzdFRvU2VydmVyKGh0dHBNZXRob2Q6IFJlcXVlc3RNZXRob2QsIHVybFN0cmluZzogc3RyaW5nLCBodHRwSGVhZGVyczogSHR0cEhlYWRlcnMsIHJlcXVlc3RDb250ZW50OiBzdHJpbmcsIGNvbnRlbnRGcm9tU2VydmVyOiBSZWZQYXJhbTxzdHJpbmc+KTogUHJvbWlzZTxhbnk+XHJcbiAge1xyXG4gICAgLy8gU2VuZCB0aGUgZW5naW5lIHRlcm1pbmF0aW9uIHJlcXVlc3QgdG8gc2VydmVyLlxyXG4gICAgYXdhaXQgZmV0Y2godXJsU3RyaW5nLCB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsIGJvZHk6IHJlcXVlc3RDb250ZW50LCBrZWVwYWxpdmU6dHJ1ZSB9KTtcclxuXHJcbiAgICByZXR1cm4gTlN0cmluZy5FbXB0eTtcclxuICB9XHJcblxyXG4gIGxvZ1Jlc3BvbnNlKGh0dHBSZXNwb25zZTogSHR0cFJlc3BvbnNlPHN0cmluZz4sIGNsaWVudElEOiBzdHJpbmcsIHVybFN0cmluZzogc3RyaW5nLCBjb250ZW50RnJvbVNlcnZlcjogUmVmUGFyYW08YW55PiwgdGltZUJlZm9yZVJlcXVlc3Q6IG51bWJlcilcclxuICB7XHJcbiAgICBsZXQgcmVzcG9uc2VUaW1lOiBudW1iZXIgPSBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpIC0gdGltZUJlZm9yZVJlcXVlc3Q7XHJcblxyXG4gICAgaWYgKExvZ2dlci5JbnN0YW5jZS5Mb2dMZXZlbCA9PT0gTG9nZ2VyX0xvZ0xldmVscy5CYXNpYylcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlQmFzaWNUb0xvZyhMb2dnZXJfTWVzc2FnZURpcmVjdGlvbi5NZXNzYWdlRW50ZXJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSHR0cENsaWVudEV2ZW50cy5HZXRSdW50aW1lQ3R4SUQoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIdHRwQ2xpZW50RXZlbnRzLkdldFNlc3Npb25Db3VudGVyKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SUQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSHR0cENsaWVudEV2ZW50cy5TaG91bGREaXNwbGF5R2VuZXJpY0Vycm9yKCkgPyBcIi1cIiA6IG5ldyBVUkwodXJsU3RyaW5nKS5ob3N0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVGltZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmh0dHBSZXF1ZXN0LnN0YXR1cy50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuaHR0cFJlcXVlc3QuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRGcm9tU2VydmVyLnZhbHVlLmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVIdHRwRXJyb3JFeGNlcHRpb24oZXg6IGFueSwgdXJsU3RyaW5nOiBzdHJpbmcpXHJcbiAge1xyXG4gICAgLy8gTm8gZXhjZXB0aW9uIGhhbmRsaW5nIGZvciBsYXN0IHJlcXVlc3QgYW5kIGhlbmNlIGp1c3QgdGhyb3cgdGhlIGV4Y2VwdGlvblxyXG4gICAgdGhyb3cgZXg7XHJcbiAgfVxyXG5cclxuICBhc3luYyBzaG91bGRSZXRyeShodHRwQ29tbXVuaWNhdGlvblRpbWVvdXRNUzogbnVtYmVyLCB1cmxTdHJpbmc6IHN0cmluZywgY29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlcjogSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIsIGV4OiBhbnksIHN0YXJ0VGltZVJlZjogUmVmUGFyYW08bnVtYmVyPik6IFByb21pc2U8Ym9vbGVhbj5cclxuICB7XHJcbiAgICAvLyBObyByZXRyeSBzdXBwb3J0ZWQgb24gbGFzdCByZXF1ZXN0XHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGxvZ0FuZFRocm93RXhjZXB0aW9uKGV4KVxyXG4gIHtcclxuICAgIC8vIE4uQS5cclxuICB9XHJcblxyXG4gIGxvZ0V4ZWN1dGlvbkF0dGVtcHRzKGV4ZWN1dGlvbkF0dGVtcHRzOiBudW1iZXIpXHJcbiAge1xyXG4gICAgLy8gTi5BLlxyXG4gIH1cclxufVxyXG4iXX0=
|
|
File without changes
|
|
@@ -1 +1,2 @@
|
|
|
1
|
+
export {};
|
|
1
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2h0dHAvY2xpZW50L0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGludGVyZmFjZSBJQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlciB7XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXRzIGEgdmFsdWUgZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgY2FsbGVyIHNob3VsZCByZXRyeSBleGVjdXRpbmcgdGhlXHJcbiAgLy8vIGNvbW11bmljYXRpb25zIHJlcXVlc3QsIHdoaWNoIHdhcyBzZW50IHdoZW4gdGhlIGZhaWx1cmUgb2NjdXJyZWQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBTaG91bGRSZXRyeUxhc3RSZXF1ZXN0OiBib29sZWFuO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEdldHMgYSB2YWx1ZSBkZXRlcm1pbmluZyB3aGV0aGVyIHRoZSBjYWxsZXIgc2hvdWxkIHNob3cgdGhlXHJcbiAgLy8vIGNvbW11bmljYXRpb25zIGVycm9ycy5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIFNob3dDb21tdW5pY2F0aW9uRXJyb3JzOiBib29sZWFuO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbm90aWZ5IHRoZSBpbXBsZW1lbnRpbmcgY2xhc3MgdGhhdCB0aGUgY29ubmVjdGlvbiBmYWlsZWQuXHJcbiAgLy8vIFRoZSBzcGVjaWZpYyBtZXRob2QgaW1wbGVtZW50YXRpb24gaXMgbm93IGZyZWUgdG8gZG8gd2hhdGV2ZXIgaXMgbmVlZGVkIGF0IHRoaXNcclxuICAvLy8gcG9pbnQsIHN1Y2ggYXMgZGlzcGxheWluZyBhIG5vdGlmaWNhdGlvbiBtZXNzYWdlIHRvIHRoZSB1c2VyLCBvciBkZXRlcm1pbmluZ1xyXG4gIC8vLyBuZXh0IGFjdGlvbnMgYXV0b21hdGljYWxseS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVybFwiPlRoZSBmYWlsaW5nIFVSTC48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImZhaWx1cmVFeGNlcHRpb25cIj5UaGUgZXhjZXB0aW9uIHJhaXNlZCB3aGVuIHRoZSBmYWlsdXJlIHdhcyBkZXRlY3RlZC48L3BhcmFtPlxyXG4gIENvbW11bmljYXRpb25GYWlsZWQodXJsOiBzdHJpbmcsIGZhaWx1cmVFeGNlcHRpb246IEVycm9yKTogdm9pZDtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { List } from "@magic-xpa/mscorelib";
|
|
3
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
4
|
+
export class AddUserLocateRemoteDataViewCommand extends RemoteDataViewCommandBase {
|
|
5
|
+
constructor(command) {
|
|
6
|
+
super(command);
|
|
7
|
+
this.userRange = null;
|
|
8
|
+
this.userRange = command.Range;
|
|
9
|
+
}
|
|
10
|
+
async Execute() {
|
|
11
|
+
if (this.Task.UserLocs === null) {
|
|
12
|
+
this.Task.UserLocs = new List();
|
|
13
|
+
}
|
|
14
|
+
this.Task.UserLocs.push(this.userRange);
|
|
15
|
+
return new ReturnResult();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkVXNlckxvY2F0ZVJlbW90ZURhdGFWaWV3Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcmVtb3RlL0FkZFVzZXJMb2NhdGVSZW1vdGVEYXRhVmlld0NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQU1sRCxNQUFNLE9BQU8sa0NBQW1DLFNBQVEseUJBQXlCO0lBRy9FLFlBQVksT0FBcUM7UUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSFQsY0FBUyxHQUFjLElBQUksQ0FBQztRQUlsQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQU1ELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLEVBQWEsQ0FBQztTQUM1QztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZX0gZnJvbSBcIi4vUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZVwiO1xyXG5pbXBvcnQge0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmR9IGZyb20gXCIuLi9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9BZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0QmFzZX0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0QmFzZVwiO1xyXG5pbXBvcnQge0xpc3R9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0XCI7XHJcbmltcG9ydCB7VXNlclJhbmdlfSBmcm9tIFwiLi4vdGFza3MvVGFza0Jhc2VcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIFJlbW90ZSBEYXRhVmlldyBDb21tYW5kIGZvciBBZGQgVXNlciBMb2NhdGVzLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQWRkVXNlckxvY2F0ZVJlbW90ZURhdGFWaWV3Q29tbWFuZCBleHRlbmRzIFJlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2Uge1xyXG4gIHByaXZhdGUgdXNlclJhbmdlOiBVc2VyUmFuZ2UgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kOiBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kKSB7XHJcbiAgICBzdXBlcihjb21tYW5kKTtcclxuICAgIHRoaXMudXNlclJhbmdlID0gY29tbWFuZC5SYW5nZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQWRkIGxvY2F0ZSB2YWx1ZXMgaW50byB0aGUgdGFzaywgc28gdGhhdCB2aWV3IHJlZnJlc2ggY29tbWFuZCB3aWxsIHVzZSB0aGlzIHZhbHVlcyB0byBsb2NhdGUgdGhlIHJlY29yZHMuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIGFzeW5jIEV4ZWN1dGUoKTogUHJvbWlzZTxSZXR1cm5SZXN1bHRCYXNlPiB7XHJcbiAgICBpZiAodGhpcy5UYXNrLlVzZXJMb2NzID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuVGFzay5Vc2VyTG9jcyA9IG5ldyBMaXN0PFVzZXJSYW5nZT4oKTtcclxuICAgIH1cclxuICAgIHRoaXMuVGFzay5Vc2VyTG9jcy5wdXNoKHRoaXMudXNlclJhbmdlKTtcclxuICAgIHJldHVybiBuZXcgUmV0dXJuUmVzdWx0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { List } from "@magic-xpa/mscorelib";
|
|
3
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
4
|
+
export class AddUserRangeRemoteDataViewCommand extends RemoteDataViewCommandBase {
|
|
5
|
+
constructor(command) {
|
|
6
|
+
super(command);
|
|
7
|
+
this.userRange = null;
|
|
8
|
+
this.userRange = command.Range;
|
|
9
|
+
}
|
|
10
|
+
async Execute() {
|
|
11
|
+
if (this.Task.UserRngs === null) {
|
|
12
|
+
this.Task.UserRngs = new List();
|
|
13
|
+
}
|
|
14
|
+
this.Task.UserRngs.push(this.userRange);
|
|
15
|
+
return new ReturnResult();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkVXNlclJhbmdlUmVtb3RlRGF0YVZpZXdDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9yZW1vdGUvQWRkVXNlclJhbmdlUmVtb3RlRGF0YVZpZXdDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBSXRFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLbEQsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHlCQUF5QjtJQUc5RSxZQUFZLE9BQW9DO1FBQzlDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhULGNBQVMsR0FBYyxJQUFJLENBQUM7UUFJbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxFQUFhLENBQUM7U0FDNUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2V9IGZyb20gXCIuL1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2VcIjtcclxuaW1wb3J0IHtVc2VyUmFuZ2V9IGZyb20gXCIuLi90YXNrcy9UYXNrQmFzZVwiO1xyXG5pbXBvcnQge0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZH0gZnJvbSBcIi4uL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0FkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZFwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdEJhc2V9IGZyb20gXCIuLi91dGlsL1JldHVyblJlc3VsdEJhc2VcIjtcclxuaW1wb3J0IHtMaXN0fSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHR9IGZyb20gXCIuLi91dGlsL1JldHVyblJlc3VsdFwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gY29tbWFuZCB0byBhZGQgdGhlIHVzZXIgcmFuZ2UsIGZyb20gUmFuZ2VBZGQsIHRvIHRoZSByZW1vdGUgZGF0YSB2aWV3XHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBBZGRVc2VyUmFuZ2VSZW1vdGVEYXRhVmlld0NvbW1hbmQgZXh0ZW5kcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIHtcclxuICBwcml2YXRlIHVzZXJSYW5nZTogVXNlclJhbmdlID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoY29tbWFuZDogQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kKSB7XHJcbiAgICBzdXBlcihjb21tYW5kKTtcclxuICAgIHRoaXMudXNlclJhbmdlID0gY29tbWFuZC5SYW5nZTtcclxuICB9XHJcblxyXG4gIGFzeW5jIEV4ZWN1dGUoKTogUHJvbWlzZTxSZXR1cm5SZXN1bHRCYXNlPiB7XHJcbiAgICBpZiAodGhpcy5UYXNrLlVzZXJSbmdzID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuVGFzay5Vc2VyUm5ncyA9IG5ldyBMaXN0PFVzZXJSYW5nZT4oKTtcclxuICAgIH1cclxuICAgIHRoaXMuVGFzay5Vc2VyUm5ncy5wdXNoKHRoaXMudXNlclJhbmdlKTtcclxuICAgIHJldHVybiBuZXcgUmV0dXJuUmVzdWx0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { List } from "@magic-xpa/mscorelib";
|
|
3
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
4
|
+
export class AddUserSortRemoteDataViewCommand extends RemoteDataViewCommandBase {
|
|
5
|
+
constructor(command) {
|
|
6
|
+
super(command);
|
|
7
|
+
this.sort = null;
|
|
8
|
+
this.sort = command.Sort;
|
|
9
|
+
}
|
|
10
|
+
async Execute() {
|
|
11
|
+
if (this.Task.UserSorts === null) {
|
|
12
|
+
this.Task.UserSorts = new List();
|
|
13
|
+
}
|
|
14
|
+
this.Task.UserSorts.push(this.sort);
|
|
15
|
+
return new ReturnResult();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkVXNlclNvcnRSZW1vdGVEYXRhVmlld0NvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3JlbW90ZS9BZGRVc2VyU29ydFJlbW90ZURhdGFWaWV3Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUl0RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBS2xELE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSx5QkFBeUI7SUFHN0UsWUFBWSxPQUFtQztRQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFIVCxTQUFJLEdBQVMsSUFBSSxDQUFDO1FBSXhCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBTUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBUSxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlfSBmcm9tIFwiLi9SZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7U29ydH0gZnJvbSBcIi4uL3Rhc2tzL3NvcnQvU29ydFwiO1xyXG5pbXBvcnQge0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHRCYXNlfSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRCYXNlXCI7XHJcbmltcG9ydCB7TGlzdH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0fSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIFJlbW90ZSBEYXRhVmlldyBDb21tYW5kIGZvciBBZGQgdXNlciBzb3J0LlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgQWRkVXNlclNvcnRSZW1vdGVEYXRhVmlld0NvbW1hbmQgZXh0ZW5kcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIHtcclxuICBwcml2YXRlIHNvcnQ6IFNvcnQgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCkge1xyXG4gICAgc3VwZXIoY29tbWFuZCk7XHJcbiAgICB0aGlzLnNvcnQgPSBjb21tYW5kLlNvcnQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFRoaXMgd2lsbCBhZGQgdXNlciBzb3J0cyBvbiB0YXNrIHNvIHRoYXQgdmlldyByZWZyZXNoIGNvbW1hbmQgd2lsbCBhcHBseSB0aGlzIHNvcnQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIGFzeW5jIEV4ZWN1dGUoKTogUHJvbWlzZTxSZXR1cm5SZXN1bHRCYXNlPiB7XHJcbiAgICBpZiAodGhpcy5UYXNrLlVzZXJTb3J0cyA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLlRhc2suVXNlclNvcnRzID0gbmV3IExpc3Q8U29ydD4oKTtcclxuICAgIH1cclxuICAgIHRoaXMuVGFzay5Vc2VyU29ydHMucHVzaCh0aGlzLnNvcnQpO1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcbn1cclxuIl19
|