javonet-nodejs-sdk 2.5.12 → 2.5.14
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/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- package/Binaries/Native/Linux/ARM64/version.txt +1 -1
- package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
- package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/X64/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/version.txt +1 -1
- package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- package/Binaries/Native/MacOs/X64/version.txt +1 -1
- package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- package/Binaries/Native/Windows/ARM64/version.txt +0 -0
- package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X64/Utils.dll +0 -0
- package/Binaries/Native/Windows/X64/version.txt +1 -1
- package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X86/Utils.dll +0 -0
- package/Binaries/Native/Windows/X86/version.txt +1 -1
- package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +4 -0
- package/Binaries/Nodejs/lib/core/protocol/CommandDeserializer.js +30 -14
- package/Binaries/Nodejs/lib/core/protocol/CommandSerializer.js +38 -25
- package/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +1 -1
- package/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +53 -48
- package/Binaries/Nodejs/lib/sdk/InvocationContext.js +3 -5
- package/Binaries/Nodejs/lib/sdk/RuntimeContext.js +2 -4
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +74 -15
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.50/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Path-Tiny-0.146 → Path-Tiny-0.148}/MYMETA.json +10 -6
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.148/install.json +1 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.39.0/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +95 -95
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +1 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +17 -18
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.39.0/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +25 -25
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +1 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +17 -18
- package/Binaries/Python/javonet/core/interpreter/Interpreter.py +28 -2
- package/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +24 -10
- package/Binaries/Python/javonet/core/protocol/CommandSerializer.py +18 -17
- package/Binaries/Python/javonet/core/receiver/Receiver.py +20 -0
- package/Binaries/Python/javonet/utils/Command.py +23 -0
- package/Binaries/Python/javonet/utils/RuntimeName.py +3 -0
- package/Binaries/Python/javonet/utils/UtilsConst.py +42 -0
- package/Binaries/Python/javonet/utils/exception/ExceptionThrower.py +43 -39
- package/Binaries/Python/javonet/utils/messageHelper/MessageHelper.py +86 -0
- package/Binaries/Python/javonet/utils/messageHelper/__init__.py +0 -0
- package/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +40 -33
- package/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +12 -19
- package/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +40 -33
- package/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +12 -19
- package/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +40 -33
- package/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +12 -19
- package/Binaries/version.txt +1 -1
- package/dist/Javonet.d.ts +34 -47
- package/dist/lib/core/interpreter/Interpreter.js +4 -0
- package/dist/lib/core/protocol/CommandDeserializer.js +30 -14
- package/dist/lib/core/protocol/CommandSerializer.js +38 -25
- package/dist/lib/core/protocol/TypeSerializer.js +1 -1
- package/dist/lib/core/webSocketClient/WebSocketClient.js +53 -48
- package/dist/lib/sdk/InvocationContext.js +3 -5
- package/dist/lib/sdk/RuntimeContext.js +2 -4
- package/lib/core/webSocketClient/WebSocketClient.js +53 -48
- package/package.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.146/install.json +0 -1
|
@@ -331,8 +331,8 @@ sub get_ref_value {
|
|
|
331
331
|
);
|
|
332
332
|
return Javonet::Sdk::Internal::InvocationContext->new(
|
|
333
333
|
$self->{runtime_name},
|
|
334
|
-
$self->
|
|
335
|
-
$self->
|
|
334
|
+
$self->{connection_type},
|
|
335
|
+
$self->{tcp_address},
|
|
336
336
|
$self->build_command($command),
|
|
337
337
|
0
|
|
338
338
|
);
|
|
@@ -347,8 +347,40 @@ sub create_null {
|
|
|
347
347
|
);
|
|
348
348
|
return Javonet::Sdk::Internal::InvocationContext->new(
|
|
349
349
|
$self->{runtime_name},
|
|
350
|
-
$self->
|
|
351
|
-
$self->
|
|
350
|
+
$self->{connection_type},
|
|
351
|
+
$self->{tcp_address},
|
|
352
|
+
$self->build_command($command),
|
|
353
|
+
0
|
|
354
|
+
);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
sub get_static_method_as_delegate {
|
|
358
|
+
my ($self, @arguments) = @_;
|
|
359
|
+
my $command = PerlCommand->new(
|
|
360
|
+
runtime => $self->{runtime_name},
|
|
361
|
+
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('GetStaticMethodAsDelegate'),
|
|
362
|
+
payload => \@arguments
|
|
363
|
+
);
|
|
364
|
+
return Javonet::Sdk::Internal::InvocationContext->new(
|
|
365
|
+
$self->{runtime_name},
|
|
366
|
+
$self->{connection_type},
|
|
367
|
+
$self->{tcp_address},
|
|
368
|
+
$self->build_command($command),
|
|
369
|
+
0
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
sub get_instance_method_as_delegate {
|
|
374
|
+
my ($self, @arguments) = @_;
|
|
375
|
+
my $command = PerlCommand->new(
|
|
376
|
+
runtime => $self->{runtime_name},
|
|
377
|
+
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('GetInstanceMethodAsDelegate'),
|
|
378
|
+
payload => \@arguments
|
|
379
|
+
);
|
|
380
|
+
return Javonet::Sdk::Internal::InvocationContext->new(
|
|
381
|
+
$self->{runtime_name},
|
|
382
|
+
$self->{connection_type},
|
|
383
|
+
$self->{tcp_address},
|
|
352
384
|
$self->build_command($command),
|
|
353
385
|
0
|
|
354
386
|
);
|
|
@@ -377,15 +409,25 @@ sub build_command {
|
|
|
377
409
|
sub encapsulate_payload_item {
|
|
378
410
|
my ($self, $payload_item) = @_;
|
|
379
411
|
|
|
380
|
-
if(!defined $payload_item) {
|
|
412
|
+
if (!defined $payload_item) {
|
|
381
413
|
return PerlCommand->new(
|
|
382
|
-
runtime
|
|
414
|
+
runtime => $self->{runtime_name},
|
|
383
415
|
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
|
|
384
|
-
payload
|
|
416
|
+
payload => []
|
|
385
417
|
);
|
|
386
418
|
}
|
|
387
|
-
|
|
388
|
-
|
|
419
|
+
if (ref($payload_item) eq 'ARRAY') {
|
|
420
|
+
my $payload_length = @$payload_item;
|
|
421
|
+
for (my $i = 0; $i < $payload_length; $i++) {
|
|
422
|
+
$payload_item->[$i] = $self->encapsulate_payload_item($payload_item->[$i]);
|
|
423
|
+
}
|
|
424
|
+
return PerlCommand->new(
|
|
425
|
+
runtime => $self->{runtime_name},
|
|
426
|
+
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Array'),
|
|
427
|
+
payload => $payload_item
|
|
428
|
+
);
|
|
429
|
+
}
|
|
430
|
+
elsif ($payload_item->isa('Command')) {
|
|
389
431
|
my $payload_length = @{$payload_item->{payload}};
|
|
390
432
|
for (my $i = 0; $i < $payload_length; $i++) {
|
|
391
433
|
$payload_item->{payload}[$i] = $self->encapsulate_payload_item($payload_item->{payload}[$i]);
|
|
@@ -395,22 +437,11 @@ sub encapsulate_payload_item {
|
|
|
395
437
|
elsif ($payload_item->isa('Javonet::Sdk::Internal::InvocationContext')) {
|
|
396
438
|
return $payload_item->get_current_command();
|
|
397
439
|
}
|
|
398
|
-
elsif (ref($payload_item) eq 'ARRAY') {
|
|
399
|
-
my $payload_length = @$payload_item;
|
|
400
|
-
for (my $i = 0; $i < $payload_length; $i++) {
|
|
401
|
-
$payload_item->[$i] = $self->encapsulate_payload_item($payload_item->[$i]);
|
|
402
|
-
}
|
|
403
|
-
return PerlCommand->new(
|
|
404
|
-
runtime => $self->{runtime_name},
|
|
405
|
-
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Array'),
|
|
406
|
-
payload => $payload_item
|
|
407
|
-
);
|
|
408
|
-
}
|
|
409
440
|
else {
|
|
410
441
|
return PerlCommand->new(
|
|
411
|
-
runtime
|
|
442
|
+
runtime => $self->{runtime_name},
|
|
412
443
|
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
|
|
413
|
-
payload
|
|
444
|
+
payload => [ $payload_item ]
|
|
414
445
|
);
|
|
415
446
|
}
|
|
416
447
|
}
|
|
@@ -239,15 +239,25 @@ sub build_command {
|
|
|
239
239
|
sub encapsulate_payload_item {
|
|
240
240
|
my ($self, $payload_item) = @_;
|
|
241
241
|
|
|
242
|
-
if(!defined $payload_item) {
|
|
242
|
+
if (!defined $payload_item) {
|
|
243
243
|
return PerlCommand->new(
|
|
244
|
-
runtime
|
|
244
|
+
runtime => $self->{runtime_name},
|
|
245
245
|
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
|
|
246
|
-
payload
|
|
246
|
+
payload => []
|
|
247
247
|
);
|
|
248
248
|
}
|
|
249
|
-
|
|
250
|
-
|
|
249
|
+
if (ref($payload_item) eq 'ARRAY') {
|
|
250
|
+
my $payload_length = @$payload_item;
|
|
251
|
+
for (my $i = 0; $i < $payload_length; $i++) {
|
|
252
|
+
$payload_item->[$i] = $self->encapsulate_payload_item($payload_item->[$i]);
|
|
253
|
+
}
|
|
254
|
+
return PerlCommand->new(
|
|
255
|
+
runtime => $self->{runtime_name},
|
|
256
|
+
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Array'),
|
|
257
|
+
payload => $payload_item
|
|
258
|
+
);
|
|
259
|
+
}
|
|
260
|
+
elsif ($payload_item->isa('Command')) {
|
|
251
261
|
my $payload_length = @{$payload_item->{payload}};
|
|
252
262
|
for (my $i = 0; $i < $payload_length; $i++) {
|
|
253
263
|
$payload_item->{payload}[$i] = $self->encapsulate_payload_item($payload_item->{payload}[$i]);
|
|
@@ -257,22 +267,11 @@ sub encapsulate_payload_item {
|
|
|
257
267
|
elsif ($payload_item->isa('Javonet::Sdk::Internal::InvocationContext')) {
|
|
258
268
|
return $payload_item->get_current_command();
|
|
259
269
|
}
|
|
260
|
-
elsif (ref($payload_item) eq 'ARRAY') {
|
|
261
|
-
my $payload_length = @$payload_item;
|
|
262
|
-
for (my $i = 0; $i < $payload_length; $i++) {
|
|
263
|
-
$payload_item->[$i] = $self->encapsulate_payload_item($payload_item->[$i]);
|
|
264
|
-
}
|
|
265
|
-
return PerlCommand->new(
|
|
266
|
-
runtime => $self->{runtime_name},
|
|
267
|
-
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Array'),
|
|
268
|
-
payload => $payload_item
|
|
269
|
-
);
|
|
270
|
-
}
|
|
271
270
|
else {
|
|
272
271
|
return PerlCommand->new(
|
|
273
|
-
runtime
|
|
272
|
+
runtime => $self->{runtime_name},
|
|
274
273
|
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
|
|
275
|
-
payload
|
|
274
|
+
payload => [ $payload_item ]
|
|
276
275
|
);
|
|
277
276
|
}
|
|
278
277
|
}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
+
import os
|
|
1
2
|
from javonet.core.handler.Handler import Handler
|
|
2
3
|
from javonet.core.protocol.CommandDeserializer import CommandDeserializer
|
|
3
4
|
from javonet.core.protocol.CommandSerializer import CommandSerializer
|
|
4
5
|
from javonet.utils.ConnectionType import ConnectionType
|
|
5
6
|
from javonet.utils.RuntimeName import RuntimeName
|
|
6
7
|
from javonet.utils.connectionData.IConnectionData import IConnectionData
|
|
8
|
+
from javonet.utils.messageHelper.MessageHelper import MessageHelper
|
|
7
9
|
|
|
8
10
|
handler = Handler()
|
|
9
11
|
|
|
12
|
+
|
|
10
13
|
class Interpreter:
|
|
14
|
+
debug_mode = os.environ.get("JAVONET_DEBUG") == "TRUE"
|
|
11
15
|
|
|
12
16
|
def execute(self, command, connection_data: IConnectionData):
|
|
17
|
+
if self.debug_mode:
|
|
18
|
+
print("Sent command: " + str(command))
|
|
19
|
+
MessageHelper.send_message_to_app_insights("SentCommand", str(command))
|
|
20
|
+
|
|
13
21
|
message_byte_array = CommandSerializer().serialize(command, connection_data)
|
|
22
|
+
|
|
14
23
|
if connection_data.connection_type == ConnectionType.WebSocket:
|
|
15
24
|
from javonet.core.webSocketClient.WebSocketClient import WebSocketClient
|
|
16
25
|
response_byte_array = WebSocketClient().send_message(connection_data, message_byte_array)
|
|
@@ -22,8 +31,25 @@ class Interpreter:
|
|
|
22
31
|
from javonet.core.transmitter.Transmitter import Transmitter
|
|
23
32
|
response_byte_array = Transmitter.send_command(message_byte_array)
|
|
24
33
|
|
|
25
|
-
|
|
34
|
+
response = CommandDeserializer(response_byte_array).deserialize()
|
|
35
|
+
|
|
36
|
+
if self.debug_mode:
|
|
37
|
+
print("Response command: " + str(response))
|
|
38
|
+
MessageHelper.send_message_to_app_insights("ResponseCommand", str(response))
|
|
39
|
+
|
|
40
|
+
return response
|
|
26
41
|
|
|
27
42
|
def process(self, message_byte_array):
|
|
28
43
|
received_command = CommandDeserializer(message_byte_array).deserialize()
|
|
29
|
-
|
|
44
|
+
|
|
45
|
+
if self.debug_mode:
|
|
46
|
+
print("Received command: " + str(received_command))
|
|
47
|
+
MessageHelper.send_message_to_app_insights("ReceivedCommand", str(received_command))
|
|
48
|
+
|
|
49
|
+
response = handler.handle_command(received_command)
|
|
50
|
+
|
|
51
|
+
if self.debug_mode:
|
|
52
|
+
print("Response command: " + str(response))
|
|
53
|
+
MessageHelper.send_message_to_app_insights("ResponseCommand", str(response))
|
|
54
|
+
|
|
55
|
+
return response
|
|
@@ -56,16 +56,30 @@ class CommandDeserializer:
|
|
|
56
56
|
runtime = self.buffer[p + 5]
|
|
57
57
|
command_type = self.buffer[p + 6]
|
|
58
58
|
self.position += 7
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
59
|
+
|
|
60
|
+
payload = [
|
|
61
|
+
self.read_object(self.buffer[self.position])
|
|
62
|
+
for _ in range(number_of_elements_in_payload)
|
|
63
|
+
]
|
|
64
|
+
return Command(RuntimeName(runtime), CommandType(command_type), payload)
|
|
65
|
+
|
|
66
|
+
# old implementation
|
|
67
|
+
# def read_command(self):
|
|
68
|
+
# p = self.position
|
|
69
|
+
# number_of_elements_in_payload = TypeDeserializer.deserialize_int(self.buffer[p + 1: p + 5])
|
|
70
|
+
# runtime = self.buffer[p + 5]
|
|
71
|
+
# command_type = self.buffer[p + 6]
|
|
72
|
+
# self.position += 7
|
|
73
|
+
# return_command = Command(RuntimeName(runtime), CommandType(command_type), [])
|
|
74
|
+
# return self.read_command_recursively(number_of_elements_in_payload, return_command)
|
|
75
|
+
#
|
|
76
|
+
# def read_command_recursively(self, number_of_elements_in_payload_left, cmd):
|
|
77
|
+
# if number_of_elements_in_payload_left == 0:
|
|
78
|
+
# return cmd
|
|
79
|
+
# else:
|
|
80
|
+
# p = self.position
|
|
81
|
+
# cmd = cmd.add_arg_to_payload(self.read_object(self.buffer[p]))
|
|
82
|
+
# return self.read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
|
|
69
83
|
|
|
70
84
|
def read_string(self):
|
|
71
85
|
p = self.position
|
|
@@ -1,28 +1,29 @@
|
|
|
1
|
+
import io
|
|
1
2
|
from javonet.core.protocol.TypeSerializer import TypeSerializer
|
|
2
3
|
from javonet.utils.Command import Command
|
|
3
4
|
from javonet.utils.RuntimeName import RuntimeName
|
|
4
5
|
from javonet.utils.connectionData.IConnectionData import IConnectionData
|
|
5
6
|
|
|
6
|
-
|
|
7
7
|
class CommandSerializer:
|
|
8
|
-
buffer = []
|
|
9
|
-
|
|
10
8
|
def serialize(self, root_command: Command, connection_data: IConnectionData, runtime_version=0):
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
ms = io.BytesIO()
|
|
10
|
+
|
|
11
|
+
ms.write(bytes([root_command.runtime_name.value, runtime_version]))
|
|
12
|
+
|
|
13
|
+
if connection_data is not None:
|
|
14
|
+
ms.write(bytes(connection_data.serialize_connection_data()))
|
|
15
|
+
else:
|
|
16
|
+
ms.write(bytes([0, 0, 0, 0, 0, 0, 0]))
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
ms.write(bytes([RuntimeName.python.value, root_command.command_type.value]))
|
|
19
|
+
|
|
20
|
+
self.serialize_recursively(root_command, ms)
|
|
21
|
+
return ms.getvalue()
|
|
22
|
+
|
|
23
|
+
def serialize_recursively(self, command: Command, ms: io.BytesIO):
|
|
18
24
|
for item in command.get_payload():
|
|
19
25
|
if isinstance(item, Command):
|
|
20
|
-
|
|
21
|
-
self.serialize_recursively(item)
|
|
26
|
+
ms.write(bytes(TypeSerializer.serialize_command(item)))
|
|
27
|
+
self.serialize_recursively(item, ms)
|
|
22
28
|
else:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
def insert_into_buffer(self, arguments):
|
|
28
|
-
self.buffer = self.buffer + arguments
|
|
29
|
+
ms.write(bytes(TypeSerializer.serialize_primitive(item)))
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import sys
|
|
2
|
+
import traceback
|
|
3
|
+
|
|
1
4
|
from javonet.core.interpreter.Interpreter import Interpreter
|
|
2
5
|
from javonet.core.protocol.CommandSerializer import CommandSerializer
|
|
3
6
|
from javonet.utils.RuntimeLogger import RuntimeLogger
|
|
4
7
|
from javonet.utils.connectionData.InMemoryConnectionData import InMemoryConnectionData
|
|
8
|
+
from javonet.utils.messageHelper.MessageHelper import MessageHelper
|
|
5
9
|
|
|
6
10
|
|
|
7
11
|
class Receiver:
|
|
@@ -9,6 +13,22 @@ class Receiver:
|
|
|
9
13
|
def __init__(self):
|
|
10
14
|
self.connection_data = InMemoryConnectionData()
|
|
11
15
|
|
|
16
|
+
# Store the original excepthook
|
|
17
|
+
self.original_excepthook = sys.excepthook
|
|
18
|
+
|
|
19
|
+
# Set up global exception handler
|
|
20
|
+
def custom_excepthook(exc_type, exc_value, exc_traceback):
|
|
21
|
+
# Format the exception
|
|
22
|
+
exception_string = "".join(traceback.format_exception(exc_type, exc_value, exc_traceback))
|
|
23
|
+
# Send to App Insights
|
|
24
|
+
MessageHelper.send_message_to_app_insights_sync("ReceiverUnhandledException", exception_string)
|
|
25
|
+
print(exception_string)
|
|
26
|
+
# Call the original handler
|
|
27
|
+
self.original_excepthook(exc_type, exc_value, exc_traceback)
|
|
28
|
+
|
|
29
|
+
# Register the custom exception handler
|
|
30
|
+
sys.excepthook = custom_excepthook
|
|
31
|
+
|
|
12
32
|
def SendCommand(self, message_byte_array, messageByteArrayLen):
|
|
13
33
|
return bytearray(CommandSerializer().serialize(Interpreter().process(message_byte_array), self.connection_data))
|
|
14
34
|
|
|
@@ -65,3 +65,26 @@ class Command:
|
|
|
65
65
|
else:
|
|
66
66
|
self.is_equal = False
|
|
67
67
|
return self.is_equal
|
|
68
|
+
|
|
69
|
+
def __str__(self):
|
|
70
|
+
try:
|
|
71
|
+
result = "RuntimeName "
|
|
72
|
+
result += str(self.runtime_name).capitalize()
|
|
73
|
+
result += " "
|
|
74
|
+
result += "CommandType "
|
|
75
|
+
result += str(self.command_type)
|
|
76
|
+
result += " "
|
|
77
|
+
result += "Payload "
|
|
78
|
+
|
|
79
|
+
for i, item in enumerate(self.payload):
|
|
80
|
+
if item is None:
|
|
81
|
+
result += "null"
|
|
82
|
+
else:
|
|
83
|
+
result += str(item)
|
|
84
|
+
|
|
85
|
+
if i < len(self.payload) - 1:
|
|
86
|
+
result += " "
|
|
87
|
+
|
|
88
|
+
return result
|
|
89
|
+
except Exception as ex:
|
|
90
|
+
return f"Error while converting command to string: {str(ex)}"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
class UtilsConst:
|
|
5
|
+
_javonet_working_directory = str(Path().absolute()) + "/"
|
|
6
|
+
_config_source = ""
|
|
7
|
+
_license_key = "License key not set"
|
|
8
|
+
|
|
9
|
+
@staticmethod
|
|
10
|
+
def set_javonet_working_directory(path: str) -> None:
|
|
11
|
+
path = path.replace("\\", "/")
|
|
12
|
+
if not path.endswith("/"):
|
|
13
|
+
path = path + "/"
|
|
14
|
+
|
|
15
|
+
if not os.path.exists(path):
|
|
16
|
+
os.makedirs(path)
|
|
17
|
+
os.chmod(path, 0o700)
|
|
18
|
+
|
|
19
|
+
UtilsConst._javonet_working_directory = path
|
|
20
|
+
|
|
21
|
+
@staticmethod
|
|
22
|
+
def get_javonet_working_directory() -> str:
|
|
23
|
+
return UtilsConst._javonet_working_directory
|
|
24
|
+
|
|
25
|
+
@staticmethod
|
|
26
|
+
def set_config_source(value: str) -> None:
|
|
27
|
+
UtilsConst._config_source = value
|
|
28
|
+
|
|
29
|
+
@staticmethod
|
|
30
|
+
def get_config_source() -> str:
|
|
31
|
+
return UtilsConst._config_source
|
|
32
|
+
|
|
33
|
+
@staticmethod
|
|
34
|
+
def set_license_key(value: str) -> None:
|
|
35
|
+
if not value or value == "" or value == "your-license-key":
|
|
36
|
+
return
|
|
37
|
+
|
|
38
|
+
UtilsConst._license_key = value
|
|
39
|
+
|
|
40
|
+
@staticmethod
|
|
41
|
+
def get_license_key() -> str:
|
|
42
|
+
return UtilsConst._license_key
|
|
@@ -9,45 +9,49 @@ class ExceptionThrower:
|
|
|
9
9
|
|
|
10
10
|
@staticmethod
|
|
11
11
|
def throw_exception(command_exception: Command):
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
traceback_str += "
|
|
49
|
-
|
|
50
|
-
|
|
12
|
+
try:
|
|
13
|
+
stack_classes, stack_methods, stack_lines, stack_files = "", "", "", ""
|
|
14
|
+
exception_message = "Python Exception with empty message"
|
|
15
|
+
exception_name = "Python exception"
|
|
16
|
+
javonet_stack_command = ""
|
|
17
|
+
traceback_str = ""
|
|
18
|
+
original_exception = ""
|
|
19
|
+
|
|
20
|
+
exception_payload_len = len(command_exception.payload)
|
|
21
|
+
if exception_payload_len >=8:
|
|
22
|
+
stack_classes, stack_methods, stack_lines, stack_files = ExceptionThrower.get_local_stack_trace(
|
|
23
|
+
command_exception.get_payload()[4],
|
|
24
|
+
command_exception.get_payload()[5],
|
|
25
|
+
command_exception.get_payload()[6],
|
|
26
|
+
command_exception.get_payload()[7])
|
|
27
|
+
|
|
28
|
+
if exception_payload_len >= 4:
|
|
29
|
+
exception_message = command_exception.get_payload()[3]
|
|
30
|
+
|
|
31
|
+
if exception_payload_len >= 3:
|
|
32
|
+
exception_name = command_exception.get_payload()[2]
|
|
33
|
+
|
|
34
|
+
if exception_payload_len >= 2:
|
|
35
|
+
javonet_stack_command = command_exception.get_payload()[1]
|
|
36
|
+
|
|
37
|
+
if exception_payload_len >= 1:
|
|
38
|
+
original_exception = ExceptionType.to_exception(command_exception.get_payload()[0])
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
for i in range(len(stack_classes)):
|
|
42
|
+
if i < len(stack_files) and stack_files[i]:
|
|
43
|
+
traceback_str += "File \"{}\"".format(stack_files[i])
|
|
44
|
+
if i < len(stack_lines) and stack_lines[i]:
|
|
45
|
+
traceback_str += ", line {}".format(stack_lines[i])
|
|
46
|
+
if i < len(stack_methods) and stack_methods[i]:
|
|
47
|
+
traceback_str += ", in {}".format(stack_methods[i])
|
|
48
|
+
traceback_str += "\n"
|
|
49
|
+
if i < len(stack_classes) and stack_classes[i]:
|
|
50
|
+
traceback_str += " {}\n".format(stack_classes[i])
|
|
51
|
+
|
|
52
|
+
return ExceptionThrower.raise_exception(original_exception, exception_message, traceback_str)
|
|
53
|
+
except Exception as e:
|
|
54
|
+
return JavonetException(str(e), "Error while processing exception: " + str(command_exception), "")
|
|
51
55
|
|
|
52
56
|
@staticmethod
|
|
53
57
|
def raise_exception(original_exception, exception_message, traceback_str):
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# File: javonet/utils/messageHelper/MessageHelper.py
|
|
2
|
+
import datetime
|
|
3
|
+
import importlib.metadata
|
|
4
|
+
import os
|
|
5
|
+
import platform
|
|
6
|
+
import socket
|
|
7
|
+
import threading
|
|
8
|
+
import urllib.request
|
|
9
|
+
import urllib.error
|
|
10
|
+
import json
|
|
11
|
+
|
|
12
|
+
from javonet.utils.UtilsConst import UtilsConst
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def __get_host_name():
|
|
16
|
+
try:
|
|
17
|
+
return socket.gethostname()
|
|
18
|
+
except socket.error:
|
|
19
|
+
return "Unknown Host"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def __get_package_version():
|
|
23
|
+
try:
|
|
24
|
+
return importlib.metadata.version("javonet-python-sdk")
|
|
25
|
+
except importlib.metadata.PackageNotFoundError:
|
|
26
|
+
return None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
address = "https://dc.services.visualstudio.com/v2/track"
|
|
30
|
+
instrumentation_key = os.environ.get("JAVONET_INSTRUMENTATION_KEY", "2c751560-90c8-40e9-b5dd-534566514723")
|
|
31
|
+
calling_runtime_name = "Python"
|
|
32
|
+
javonet_version = __get_package_version()
|
|
33
|
+
node_name = __get_host_name()
|
|
34
|
+
os_name = platform.system()
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class MessageHelper:
|
|
38
|
+
|
|
39
|
+
@staticmethod
|
|
40
|
+
def send_message_to_app_insights(operation_name, message):
|
|
41
|
+
thread = threading.Thread(target=MessageHelper.send_message_to_app_insights_sync,
|
|
42
|
+
args=(operation_name, message))
|
|
43
|
+
thread.start()
|
|
44
|
+
|
|
45
|
+
@staticmethod
|
|
46
|
+
def send_message_to_app_insights_sync(operation_name, message):
|
|
47
|
+
try:
|
|
48
|
+
formatted_datetime = datetime.datetime.now(datetime.timezone.utc).strftime("%Y-%m-%dT%H:%M:%S")
|
|
49
|
+
license_key = UtilsConst.get_license_key()
|
|
50
|
+
|
|
51
|
+
json_payload = {
|
|
52
|
+
"name": "AppEvents",
|
|
53
|
+
"time": formatted_datetime,
|
|
54
|
+
"iKey": instrumentation_key,
|
|
55
|
+
"tags": {
|
|
56
|
+
"ai.application.ver": javonet_version,
|
|
57
|
+
"ai.cloud.roleInstance": node_name,
|
|
58
|
+
"ai.operation.id": "0",
|
|
59
|
+
"ai.operation.parentId": "0",
|
|
60
|
+
"ai.operation.name": operation_name,
|
|
61
|
+
"ai.internal.sdkVersion": "javonet:2",
|
|
62
|
+
"ai.internal.nodeName": node_name
|
|
63
|
+
},
|
|
64
|
+
"data": {
|
|
65
|
+
"baseType": "EventData",
|
|
66
|
+
"baseData": {
|
|
67
|
+
"ver": 2,
|
|
68
|
+
"name": message,
|
|
69
|
+
"properties": {
|
|
70
|
+
"OperatingSystem": os_name,
|
|
71
|
+
"LicenseKey": license_key,
|
|
72
|
+
"CallingTechnology": calling_runtime_name
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
data = json.dumps(json_payload).encode("utf-8")
|
|
79
|
+
req = urllib.request.Request(address, data=data, headers={'Content-Type': 'application/json'})
|
|
80
|
+
with urllib.request.urlopen(req) as response:
|
|
81
|
+
status_code = response.getcode()
|
|
82
|
+
return status_code
|
|
83
|
+
except urllib.error.HTTPError as e:
|
|
84
|
+
return e.code
|
|
85
|
+
except Exception:
|
|
86
|
+
pass
|
|
File without changes
|