javonet-ruby-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.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  37. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  91. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +4 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/CommandDeserializer.js +30 -14
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/CommandSerializer.js +38 -25
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +1 -1
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +53 -48
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/InvocationContext.js +3 -5
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeContext.js +2 -4
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +74 -15
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +95 -95
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +1 -1
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +17 -18
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +25 -25
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +1 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +17 -18
  126. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +28 -2
  166. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +24 -10
  171. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +18 -17
  172. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +20 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +23 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeName.py +3 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/UtilsConst.py +42 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/ExceptionThrower.py +43 -39
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/MessageHelper.py +86 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__init__.py +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +40 -33
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +12 -19
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +40 -33
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +12 -19
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +40 -33
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +12 -19
  213. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  214. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +40 -33
  215. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +12 -19
  216. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +38 -22
  217. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +5 -8
  218. metadata +8 -2
@@ -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
- return CommandDeserializer(response_byte_array).deserialize()
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
- return handler.handle_command(received_command)
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
- return_command = Command(RuntimeName(runtime), CommandType(command_type), [])
60
- return self.read_command_recursively(number_of_elements_in_payload, return_command)
61
-
62
- def read_command_recursively(self, number_of_elements_in_payload_left, cmd):
63
- if number_of_elements_in_payload_left == 0:
64
- return cmd
65
- else:
66
- p = self.position
67
- cmd = cmd.add_arg_to_payload(self.read_object(self.buffer[p]))
68
- return self.read_command_recursively(number_of_elements_in_payload_left - 1, cmd)
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
- self.insert_into_buffer([root_command.runtime_name.value, runtime_version])
12
- self.insert_into_buffer(connection_data.serialize_connection_data())
13
- self.insert_into_buffer([RuntimeName.python.value, root_command.command_type.value])
14
- self.serialize_recursively(root_command)
15
- return self.buffer
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
- def serialize_recursively(self, command):
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
- self.insert_into_buffer(TypeSerializer.serialize_command(item))
21
- self.serialize_recursively(item)
26
+ ms.write(bytes(TypeSerializer.serialize_command(item)))
27
+ self.serialize_recursively(item, ms)
22
28
  else:
23
- self.insert_into_buffer(TypeSerializer.serialize_primitive(item))
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)}"
@@ -11,3 +11,6 @@ class RuntimeName(Enum):
11
11
  ruby = 6
12
12
  nodejs = 7
13
13
  cpp = 8
14
+
15
+ def __str__(self):
16
+ return self.name
@@ -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
- stack_classes, stack_methods, stack_lines, stack_files = "", "", "", ""
13
- exception_message = "Python Exception with empty message"
14
- exception_name = "Python exception"
15
- javonet_stack_command = ""
16
- traceback_str = ""
17
-
18
- exception_payload_len = len(command_exception.payload)
19
- if exception_payload_len >=8:
20
- stack_classes, stack_methods, stack_lines, stack_files = ExceptionThrower.get_local_stack_trace(
21
- command_exception.get_payload()[4],
22
- command_exception.get_payload()[5],
23
- command_exception.get_payload()[6],
24
- command_exception.get_payload()[7])
25
-
26
- if exception_payload_len >= 4:
27
- exception_message = command_exception.get_payload()[3]
28
-
29
- if exception_payload_len >= 3:
30
- exception_name = command_exception.get_payload()[2]
31
-
32
- if exception_payload_len >= 2:
33
- javonet_stack_command = command_exception.get_payload()[1]
34
-
35
- if exception_payload_len >= 1:
36
- original_exception = ExceptionType.to_exception(command_exception.get_payload()[0])
37
-
38
-
39
- for i in range(len(stack_classes)):
40
- if i < len(stack_files) and stack_files[i]:
41
- traceback_str += "File \"{}\"".format(stack_files[i])
42
- if i < len(stack_lines) and stack_lines[i]:
43
- traceback_str += ", line {}".format(stack_lines[i])
44
- if i < len(stack_methods) and stack_methods[i]:
45
- traceback_str += ", in {}".format(stack_methods[i])
46
- traceback_str += "\n"
47
- if i < len(stack_classes) and stack_classes[i]:
48
- traceback_str += " {}\n".format(stack_classes[i])
49
-
50
- return ExceptionThrower.raise_exception(original_exception, exception_message, traceback_str)
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