This patch provides optimized HTTPS transport for VistA. It does that by
using the libcurl binding for GT.M/YDB (https://github.com/shabiel/fis-gtm-plugins/tree/master/libcurl)
or using the %Net.HttpRequest Cache Class to perform HTTP communication.
This package does not alter the API distributed in VistA; but adds two helper
APIs. It's just a single API: $$GETURL^XTHC10. This API is documented in the VA
manual on the VDL (https://www.va.gov/vdl/documents/Infrastructure/Kernel/krn8_0dg.pdf)
as well as on the hardhats.org website (http://hardhats.org/kernel/html/x-geturl%5Exthc10.shtml).
The original code was written with the idea that a connection would be opened
and then closed for each API call. That is very expensive to do, especially when
TLS is involved, as every call will need to perform TLS negotiation again. While
this mode is still supported, you now have the option to keep the connection
option for multiple HTTP requests. To do that, you need to call D INIT^XTHC10(0),
then call $$GETURL^XTCH10 multiple times. Once you are done doing all your
calls, call D CLEANUP^XTHC10.
COMMENTS