Skip to content

Commit

Permalink
feat: tls working
Browse files Browse the repository at this point in the history
- tls unit tests completed
- tls connections working as designed
- included certs from node-hl7-server

#20

[ci skip]
  • Loading branch information
Bugs5382 committed Dec 15, 2023
1 parent b57ec86 commit 87969f3
Show file tree
Hide file tree
Showing 11 changed files with 258 additions and 35 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ docs

# NPM
lib
.npmrc
package-lock.json

# Webstorm
Expand Down
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
.idea
src
temp
certs
__tests__
coverage

Expand Down
123 changes: 90 additions & 33 deletions __tests__/hl7.client.test.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import fs from "fs";
import path from "node:path";
import portfinder from 'portfinder'
import {Hl7Inbound, Server} from "../../node-hl7-server/src";
import {Client, expectEvent, HL7Outbound, Message, sleep} from '../src'
Expand Down Expand Up @@ -110,7 +112,7 @@ describe('node hl7 client', () => {

describe('basic listener tests', () => {

test.skip('...simple connect', async () => {
test('...simple connect', async () => {

const LISTEN_PORT = await portfinder.getPortPromise({
port: 3000,
Expand Down Expand Up @@ -227,53 +229,107 @@ describe('node hl7 client', () => {
})

describe('end to end tests', () => {
let LISTEN_PORT: number;

beforeEach(async () => {
LISTEN_PORT = await portfinder.getPortPromise({
port: 3000,
stopPort: 65353
describe('...send message, get proper ACK', () => {

let LISTEN_PORT: number
beforeEach(async () => {
LISTEN_PORT = await portfinder.getPortPromise({
port: 3000,
stopPort: 65353
})
})
})

test('...send message, get proper ACK', async () => {
test('...no tls', async () => {

const server = new Server({bindAddress: '0.0.0.0'})
const IB_ADT = server.createInbound({port: LISTEN_PORT}, async (req, res) => {
const messageReq = req.getMessage()
const messageRes = res.getAckMessage()
expect(messageRes.get('MSA.1').toString()).toBe('AA')
expect(messageReq.get('MSH.12').toString()).toBe('2.7')
})
const server = new Server({bindAddress: '0.0.0.0'})
const IB_ADT = server.createInbound({port: LISTEN_PORT}, async (req, res) => {
const messageReq = req.getMessage()
const messageRes = res.getAckMessage()
expect(messageRes.get('MSA.1').toString()).toBe('AA')
expect(messageReq.get('MSH.12').toString()).toBe('2.7')
})

await sleep(5)
await sleep(5)

const client = new Client({host: '0.0.0.0'})
const client = new Client({host: '0.0.0.0'})

const OB_ADT = client.createOutbound({ port: LISTEN_PORT }, async (res) => {
expect(res.toString()).not.toContain('ADT^A01^ADT_A01')
})
const OB_ADT = client.createOutbound({ port: LISTEN_PORT }, async (res) => {
expect(res.toString()).not.toContain('ADT^A01^ADT_A01')
})

await sleep(5)
await sleep(5)

let message = new Message({
messageHeader: {
msh_9_1: "ADT",
msh_9_2: "A01",
msh_10: 'CONTROL_ID'
}
})

await OB_ADT.sendMessage(message)

await sleep(10)

await OB_ADT.close()
await IB_ADT.close()

let message = new Message({
messageHeader: {
msh_9_1: "ADT",
msh_9_2: "A01",
msh_10: 'CONTROL_ID'
}
})

await OB_ADT.sendMessage(message)
test('...tls', async () => {

const server = new Server(
{
bindAddress: '0.0.0.0',
tls:
{
key: fs.readFileSync(path.join('certs/', 'server-key.pem')),
cert: fs.readFileSync(path.join('certs/', 'server-crt.pem')),
rejectUnauthorized: false
}
})
const IB_ADT = server.createInbound({port: LISTEN_PORT}, async (req, res) => {
const messageReq = req.getMessage()
const messageRes = res.getAckMessage()
expect(messageRes.get('MSA.1').toString()).toBe('AA')
expect(messageReq.get('MSH.12').toString()).toBe('2.7')
})

await sleep(5)

const client = new Client({host: '0.0.0.0', tls: { rejectUnauthorized: false }})
const OB_ADT = client.createOutbound({ port: LISTEN_PORT }, async (res) => {
expect(res.toString()).not.toContain('ADT^A01^ADT_A01')
})

await sleep(10)
await sleep(5)

await OB_ADT.close()
await IB_ADT.close()
let message = new Message({
messageHeader: {
msh_9_1: "ADT",
msh_9_2: "A01",
msh_10: 'CONTROL_ID'
}
})

await OB_ADT.sendMessage(message)

await sleep(10)

await OB_ADT.close()
await IB_ADT.close()

})

})

test('...send message, but the connection was closed -- error out', async () => {
test.skip('...send message, but the connection was closed -- error out', async () => {

const LISTEN_PORT = await portfinder.getPortPromise({
port: 3000,
stopPort: 65353
})

let IB_ADT: Hl7Inbound
try {
Expand All @@ -296,10 +352,11 @@ describe('node hl7 client', () => {
})

await OB_ADT.close() // @todo there needs to be a way we kill the server?
await IB_ADT.close() // make sure we close the server

await OB_ADT.sendMessage(message)

await IB_ADT.close() // make sure we close the server

} catch (err: any) {
expect(err.message).toBe('In an invalid state to be able to send message.')
}
Expand Down
24 changes: 24 additions & 0 deletions certs/server-ca-crt.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEGzCCAwOgAwIBAgIUSfj03QhKlJ6HV2Eny80A+wv20cAwDQYJKoZIhvcNAQEL
BQAwgZwxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhNYXJ5bGFuZDETMBEGA1UEBwwK
Rm9ydCBNZWFkZTEXMBUGA1UECgwOTm8gU3VjaCBBZ2VuY3kxDjAMBgNVBAsMBUN5
cHRvMRIwEAYDVQQDDAlsb2NhbGhvc3QxKDAmBgkqhkiG9w0BCQEWGWxvY2FsaG9z
dEBsb2NhbGhvc3QubG9jYWwwHhcNMjMxMjE0MDI1OTM0WhcNMjYwOTA4MDI1OTM0
WjCBnDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE1hcnlsYW5kMRMwEQYDVQQHDApG
b3J0IE1lYWRlMRcwFQYDVQQKDA5ObyBTdWNoIEFnZW5jeTEOMAwGA1UECwwFQ3lw
dG8xEjAQBgNVBAMMCWxvY2FsaG9zdDEoMCYGCSqGSIb3DQEJARYZbG9jYWxob3N0
QGxvY2FsaG9zdC5sb2NhbDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMb5sqgkMduZHiQ9e3GEZeGl1Ubi9qNrEfG497W6JugSulQjnZEHAy365ScqhrYj
P7CHxRd76lo8EJRbqmrWTIeyVhdTOV7MA4wS9Pm3t5xaScfZ0iQnBynEglI0fEGG
W1gmujORDJKzY1xsxpB85xa1G4eZRwvPbrnDeetv0uUNO9H0u94HwQ7rSE1UDKT3
njQjxEOecUcnI1UGudr3LCOhBi7uM4jRY2gd+suQKeWBFVUBoz966Ct0YRpKLKIp
kBHs8nNTW1iaM9O52C20bEuhle/5ZBeBXSeKQaNIEXa2bM7ay7RiD5ri5dLZpJHH
V4NpE46XSvGiE1m6nKWC1YECAwEAAaNTMFEwHQYDVR0OBBYEFAR/YqM9/J1dY+Xy
BLaMrFGhZ+2WMB8GA1UdIwQYMBaAFAR/YqM9/J1dY+XyBLaMrFGhZ+2WMA8GA1Ud
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBADTTuuI4bF3YzcA7fbeNuuBV
THXuBvTz8d0yirkWEjsdBQFTv3/Nzt8nEiqCaZK7jeATFjd/yRBZiV5VOEgOv8+d
prQUBf9bIhhlnav3tjRPo5EidGuslyCobyqeup+sKFNHJQQt9o3SeOUU82Hrng6n
hYx+Xf7dY/Mts2/Z8PAidHEzJNF7Zry3Jueyu+3v4j8HBFEQ+PQcNpgZQ1IK05JA
ZpSmYX0VXGm6Aj1pVEqoHjnLdVbFaHJ2AhY+/DSoclkgOo8JQG0np+3KOEW+paYK
WSSGE+1/kI2leRxLL+Y8bhFrKSFU1NvakI68ppiq10bYR2m6fc+85lrZ0oiwBZI=
-----END CERTIFICATE-----
1 change: 1 addition & 0 deletions certs/server-ca-crt.srl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
04A2D549576D9E291AEDB5771E4196BD3E737C00
30 changes: 30 additions & 0 deletions certs/server-ca-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIdG54mBqEcNECAggA
MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECOQ4K6OVnT1+BIIEyFKf6Mksy16y
EHjUvril+Zhepib2kZ3HJFeW5F4O3vhBBc5Wh4HiXxkqw27GEM7LGA7wmub24D1m
KJr/CW8IhckSNljx8kyD0iHWenYYKht8lcEtNCnKye2Jm3FiRnSS2EO3SbrS9a0o
FT2pb6jEr8wG07XH4bEYrGIxtlIHJRXDxKzsI4WWevAMZA1MY1mj7PojbEIdmxkj
N8/JxUva1iy7og9q4fbsW/+HP9+O8kMh01Fb0AUy9isDfxG9RXIvA2YLVI3eAdOx
7gVockaG5kDQ+qeTovS5uzqCl6moKeo3WXzuwIKX989v8reWch09Ytr+To578dcI
OpsmbNVM7nyBiCXP0HqheVqosizQFT5PULX32bQz0MvZRklhaYVaC7YTuRlWpEhP
UPfV/FQhn4tMXXwzVC9Q0TI6ObGquxFRyIx21JBXVbIf/ukU6fkIhJIPSSTzfSdY
SQRGLnDWp9NZoT9QSBvBlouaiSnhaI0rGXRynnsnU7EURkRqYqPqTfkawjxHk8u6
4lmSfW+0GfzCqrRat5Xquj+Ao93TGfQYrCAwnngkOhj/sY/R7a51JFkhJyrQbPet
GC9keSJbHxfxA71zcOKtKAyWvbQfZojQq6dPJReuuEkesAS3GxKf2KEYXnjMgzNR
2aN2zowOlugzkgK1oaiQMZxYVy0ceq9nI594JhUQFwxDhyqxjPFLlS9/KlEI1G3U
cjfay/2ttldDw//55LYI1kw8KUDDrSgA1od/XF1AJuO0En0qGLsdYROM7nBNbp2m
zjLCw3JUkLokfbrIuJZeS0tT4RDkvjZaNyoz7F9T0qO9q70M4RfRZnYk6SqzcIWL
OIRt+bAKbbPVXtwsMmlom7Xp7bveDi6+uYSWVUJOerDYKx8ODizyZchEg0xNmsQV
r9fYfu+vq2ueCLs1EBrV6tWGLIg2QnwmJE8JO5TwHEr8dGs086ASmhVvQrOsJBNK
wQPfYqDWRjNBVyPhDMS1qBMJHjQG45KtwvRDTD+5a+4skvOCCgzrnrVtn0iNZj4N
C8jN+gnxBgJ0lYCXAR2wB/RvLtYuWFx7o6I5QXq3AORwzmKCv19ZTAoo8cGj/twL
izpsnwpIAjh48Cv7xOlWtBhpp9XymM9RmFJM0LrVwUKHHAlIW+YPCMMh9P3AZmcR
FT383+VlolEMz2Xdqp/31/4SC5ADMEKS3xCBzdvOMgiCp5fz/gRZ4Z+2RDXZUItL
lksGfOTbEre3lKym63RcYqogHPhVgsGUjRwinxhdePuTccd7eNtR8mkk/dZXHIIs
l9HlzfEgczHmpZwueYkU7gDrzra0jX66x9InGhhEi0H4CAdaiAHeG6UqbY7AblXK
dIsNf5Nt5iI9I6EdEigo84zlMjydA+zExIuPq9IimpIjxVmkbNug4B5hCVIWfEcb
WpmP9KTug9soCqA1/M+8Am5dFPa/BN8xfU7R9qgZiZEIJDRgowal2teIqp7yD1M5
1ILxNNPRD2jfqp/8DSaeOboGPCaYGXvkGB5+IMU9jJFkIvBQSIHKDlPEuwSsKLK8
vnNXCRvnaVN3Tv5eYm0MkIQpE9ESTUYzQD1fF1xw8XGDvvrlZJ4YnCN46XdJ5Ni1
eF+v2H+V1YyjvyZKfN1y6Q==
-----END ENCRYPTED PRIVATE KEY-----
28 changes: 28 additions & 0 deletions certs/server-crt.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE-----
MIIEwTCCA6kCFASi1UlXbZ4pGu21dx5Blr0+c3wAMA0GCSqGSIb3DQEBCwUAMIGc
MQswCQYDVQQGEwJVUzERMA8GA1UECAwITWFyeWxhbmQxEzARBgNVBAcMCkZvcnQg
TWVhZGUxFzAVBgNVBAoMDk5vIFN1Y2ggQWdlbmN5MQ4wDAYDVQQLDAVDeXB0bzES
MBAGA1UEAwwJbG9jYWxob3N0MSgwJgYJKoZIhvcNAQkBFhlsb2NhbGhvc3RAbG9j
YWxob3N0LmxvY2FsMB4XDTIzMTIxNDAzMDI0M1oXDTI2MDkwNzAzMDI0M1owgZwx
CzAJBgNVBAYTAlVTMREwDwYDVQQIDAhNYXJ5bGFuZDETMBEGA1UEBwwKRm9ydCBN
ZWFkZTEXMBUGA1UECgwOTm8gU3VjaCBBZ2VuY3kxDjAMBgNVBAsMBUN5cHRvMRIw
EAYDVQQDDAlsb2NhbGhvc3QxKDAmBgkqhkiG9w0BCQEWGWxvY2FsaG9zdEBsb2Nh
bGhvc3QubG9jYWwwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCXf+J9
nQ+KYpjz7GWua84U3bDZaXGVRUOwXd6aRQpVR1D2WdQ7wAlwdV+lmRdpow3YduQR
i72z8z7f6bi9MjCH4D3ym7EmIxFXHDHCCMSfACY3/HQ8EIYKTN3x95EU7gSfIBGB
xSXWzWsn56YyxwCLt19hIWJVb4PFLHs3md8ZgtdYFa6b3SDV+qbnj1pc31O/qcUB
VEYATZKdamu6ECPkn4ZXnxfqSU828dKkF/fmGmtUpsKcDRGXudU4rlOMYdgJJ9E2
B3JvjiP+6HH0VS5QSdunoxgekH8/Ahew/0f1N6PCycfkTU6iTbdXUyfc7iP337B9
gGe9YmembteFO2AEC5hUV9k9QZtWvDnMVQlrJeVDsmKFHhpHcz0YvaD1Mhik4EE5
BTKyThhxeSW4MRH7dXOmjdA6N6bswjCT5D6JBsPp/sitM7qpr0bQE83lTINOs09j
ymDctcA/mbPFo/nRJI7aEUOWfZ+aWGI1LVVhVQTtfCN+QS3FJY0rhEq/Ox6bJQZp
k+H+lsuB5dmsT2kj03g4ZIpBie2aRjL6+1PaJ+nSq9q9pA5cfE0143fp5j1OKzE1
hWS43WdVNdrHyi0wLd/jb3y5Q2lckakwb9JDtrqbxq1dYIu5JT+u9ZLgZvJqvTKq
YEyQLhv6msU84DjZsqIXdeK8Ntqca7bpkhRLmwIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQAe2chZ3f+b+1ntnqB3THOOksrs4og1xv66Sdx9kb1DHC6yqNZ8IWLaSDnv
pav9gJGSpXwqY4eAkxhCBGqMd5LyjKOlyYF6ZFnEq09LJC6ILn2cOObxY0yb7Mui
g+y+uBP3oJ6gN4xfD9mAgmuoiH2FVp5+AKPKa58c3+k+eF2nXDOyuwweTk1d19ER
183ZcocN7mS2RqUtJ4/xL106zrUU4vrb6NBEFOwCil8GFA4IWRfWReaUmXafGal1
PJdZKvuvJJqHJr6uc2QZmEE1scXhSy9YZX+JI7idl7FksqreLDduTzeo8Jteq/PX
IwupwMpMFAkyqj57hnDYgvnkIcgn
-----END CERTIFICATE-----
29 changes: 29 additions & 0 deletions certs/server-csr.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIE4jCCAsoCAQAwgZwxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhNYXJ5bGFuZDET
MBEGA1UEBwwKRm9ydCBNZWFkZTEXMBUGA1UECgwOTm8gU3VjaCBBZ2VuY3kxDjAM
BgNVBAsMBUN5cHRvMRIwEAYDVQQDDAlsb2NhbGhvc3QxKDAmBgkqhkiG9w0BCQEW
GWxvY2FsaG9zdEBsb2NhbGhvc3QubG9jYWwwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQCXf+J9nQ+KYpjz7GWua84U3bDZaXGVRUOwXd6aRQpVR1D2WdQ7
wAlwdV+lmRdpow3YduQRi72z8z7f6bi9MjCH4D3ym7EmIxFXHDHCCMSfACY3/HQ8
EIYKTN3x95EU7gSfIBGBxSXWzWsn56YyxwCLt19hIWJVb4PFLHs3md8ZgtdYFa6b
3SDV+qbnj1pc31O/qcUBVEYATZKdamu6ECPkn4ZXnxfqSU828dKkF/fmGmtUpsKc
DRGXudU4rlOMYdgJJ9E2B3JvjiP+6HH0VS5QSdunoxgekH8/Ahew/0f1N6PCycfk
TU6iTbdXUyfc7iP337B9gGe9YmembteFO2AEC5hUV9k9QZtWvDnMVQlrJeVDsmKF
HhpHcz0YvaD1Mhik4EE5BTKyThhxeSW4MRH7dXOmjdA6N6bswjCT5D6JBsPp/sit
M7qpr0bQE83lTINOs09jymDctcA/mbPFo/nRJI7aEUOWfZ+aWGI1LVVhVQTtfCN+
QS3FJY0rhEq/Ox6bJQZpk+H+lsuB5dmsT2kj03g4ZIpBie2aRjL6+1PaJ+nSq9q9
pA5cfE0143fp5j1OKzE1hWS43WdVNdrHyi0wLd/jb3y5Q2lckakwb9JDtrqbxq1d
YIu5JT+u9ZLgZvJqvTKqYEyQLhv6msU84DjZsqIXdeK8Ntqca7bpkhRLmwIDAQAB
oAAwDQYJKoZIhvcNAQELBQADggIBAFwJ6wNLhPgbcEIrwFnm1WNRDwrgHQ0hG+Yv
X4sBn/n0zQwninT/rey3Z1RXx+IyaK11eRjHk7hiZh540V7MeMXt/JNwlJGmFdTT
0GWDChsHlYZucz57iziVCOUA/erRqtlD6Y01Z8GCwEf4LukX6dNYdDBez3x/GQsP
nwe3HGecwAnBYjIJZpVtKh1Wyp7tLTmcjelJK3oKOzuO/UWoUhkmOU1J7kJedm7T
GvfqZi9ei8gPNlULz2BlhfltGdRirdUKOLF5iVi6vs56c8BAN6JnqMY69PGJzMdC
EZWg71ngD5bFBg99gGAWIOUdh8/vNwhHLZwEQA52CfvggHBcOWUt/9m0OC8z6dTL
pWYbkt7VEPZ4z8HgcVFq76oRHM4jRXZmlHKWcLh27qw0vtybhjMLWxwn5HzCiF6g
LJueSYyXl0s3qq/1yhqpbBZkydl3R7pzgA7yMPxcfamOVvTcileVNvpMunByDmqa
O99jYTSRf9zQnNdtRrOr2aE5DBTGn/xT9eMqK4aC2I64bH+8sgEtewUR5CtH0fSb
i4EA60rnyZ7fDIAlYPi+cfubR0Za4JRzBpUpTIqxo4XZtRDgnObphaPN1juUslAx
jKbCqrKZzcJiA1szujthXJZpfHI8NX4Kgo6IAH2JpYd+NMoJ+sBkloZ8EdHpEaba
nqnbZQya
-----END CERTIFICATE REQUEST-----
52 changes: 52 additions & 0 deletions certs/server-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCXf+J9nQ+KYpjz
7GWua84U3bDZaXGVRUOwXd6aRQpVR1D2WdQ7wAlwdV+lmRdpow3YduQRi72z8z7f
6bi9MjCH4D3ym7EmIxFXHDHCCMSfACY3/HQ8EIYKTN3x95EU7gSfIBGBxSXWzWsn
56YyxwCLt19hIWJVb4PFLHs3md8ZgtdYFa6b3SDV+qbnj1pc31O/qcUBVEYATZKd
amu6ECPkn4ZXnxfqSU828dKkF/fmGmtUpsKcDRGXudU4rlOMYdgJJ9E2B3JvjiP+
6HH0VS5QSdunoxgekH8/Ahew/0f1N6PCycfkTU6iTbdXUyfc7iP337B9gGe9Ymem
bteFO2AEC5hUV9k9QZtWvDnMVQlrJeVDsmKFHhpHcz0YvaD1Mhik4EE5BTKyThhx
eSW4MRH7dXOmjdA6N6bswjCT5D6JBsPp/sitM7qpr0bQE83lTINOs09jymDctcA/
mbPFo/nRJI7aEUOWfZ+aWGI1LVVhVQTtfCN+QS3FJY0rhEq/Ox6bJQZpk+H+lsuB
5dmsT2kj03g4ZIpBie2aRjL6+1PaJ+nSq9q9pA5cfE0143fp5j1OKzE1hWS43WdV
NdrHyi0wLd/jb3y5Q2lckakwb9JDtrqbxq1dYIu5JT+u9ZLgZvJqvTKqYEyQLhv6
msU84DjZsqIXdeK8Ntqca7bpkhRLmwIDAQABAoICAAhN5JQEGZz5SJmzmeM/WjLU
mrlgHpoTC4x4U20GCcn2OHQ4ek9deGb8rWXTXXAslY60Uvi56IfGS+pUJ7c0hWp9
RTKuNr34wB4+l7pOEWZcc2aFj7gseQce2C+c5WFN/AeI53dt32QbKxuAhstTvdjq
upoFYsbSGllNgIziAf5Q/g2AVWuKaclbjZiLHWXn1pxelEOSuKo9lk11+Y+1C3Kg
YpRyTl+eQxmnlGdAP8C82VNGN3am/2bfXdZXNTyFryTZVONu8bvhq7bGS7DGloek
yhsx78QvzCR1BegYJiaain8b4Q7HmgmAKbjqAE5g6Kx79h2lqIoTVyEiruzzqJCa
kHnp3Kn9X/PTVi07aRyq6KuvZhO1wkfULsqpgMsnjFLP97QmdubEl6AGtvUHykmU
aiOonNgZwie48HYgDdV6N997iKERX62KAc1VlLJTHHdhup1E0upP/llp62tgksLW
Ch/1f/QDBcN5poLqJ0ADqPE6JCd7vY1y2M6AHewAw/m4SYYXAhAjhfgvb1J8AHXa
RgY91iktfn1PhpnGocq+6nzrGsR5Xyhgx82GkIU1F82oHW8m43xq3d1MFKEPEcEJ
35f2SuXuVLUL2dtuhWE/XSVjLFcOT71qc4Ctnb1zjKKW5OKjdVlzkzj+hM5fDZob
FxB5nVRSPRdX1WUqQSKhAoIBAQDSTgvP8fPbJnYQgZAvN7SjhpZbjo0lE1aJobkN
5TqhTpQVs0XOq61ordQpBTzPS6Av22U+rZ2p6I5liD5tbd5B5CLpiblZRJki606o
7ebGxHs4a+UwNAYyOSTH94Tk5s4t8uCH6Z9QA7ibjTth1XJpyX5bms0oC125Wbmc
5oBslj5lBy73lmTgeV7zeHiie2Y8dJSOUzpJWmjxs7dCuSTQwJ/+4LA2jJPpCMm7
Z8h8nUSdH7LwS785JvB98J6aBxqTJKp0uUbDyVN659H/fxK5Ev6ynQlrlZhogRFy
p+ktxNQrAcL9cPhDpwHFhaAt7PxQ7AJVmQwr55nef0+4hAILAoIBAQC4at0pP7wJ
IUu19SXfMmk8LPDYC2dF98qcgPhVk7opQf/DLXm4uJPoyQqO+19GXQ0YDdVpOqXG
YR9b3E27Iqcbbv1nYVp4wRAqugwLQwJD/BO4spWpAipfeBY3LZZVZ8LvmsNtYAiv
0nsvQd9nb1dBDzxDYMmev+3R2ePn+qYi7uYUHgj/Vv32BasgBeVn4P6yFEFKRgQq
PvM8Of/QlFbLoqRGJKBcpNbCz3tngef0a7NhVSSutOyNNqqPWP0M4xDbOgjinYT8
n0vGYLFKYQhpu4N++j5vww1E1rd3ZBWDYVzVjFHmUJ0NWfhmbNkdGPjEwSjFIf+y
rDRYkpR7i+axAoIBAF7RaWn8AKJSGPEgOU3Qo9UGnUvyXZjVuzKag8DMFT8dGo8e
IN8pcCm+FeXYwq4DvtlU5bT4uhkdDPaiEuNrocW7gjIhMjwZPaIMzY5ElMQRWiz6
GH8/NXv3X6n44yYBGfyFgM5Getmsk9MuPhPCFK+1dQ8AIHdpiHxFA/bFxikvJDqQ
npBqcljy3+iN7HX1hQbE2SXCSIlCBgbTrFCdAQhNkNVtoIU3pIhwueOQy0fD8GeX
HypQPIscD1n43sk7YrPs2B2AW3NylfzYAEpdlKd09Pi67MBg1jJn3uH+6pcEI1Sw
mqWCBa0a4yWXNbz/GFOz1Oma823oIeu7IspiWjkCggEAGRM2tRgcaiVj1P7bQmjp
VCxMJyQNy76whu0mVwR6KIf3zcMOLOaz/c/wJpbZUojucdnXrbIyvjGQgP4Id6xz
ilBiFj9vfMHLf/PCFXnsAfBxggiOPuezeT2rz57cNQqhv9CMR//pznZRF5DeXoMO
GyOGLycm4vX30TPOQEmdc1yGXi/jS0y5xUzqArWqhqBaIT6NzhqNEG10xzifpu20
i4W2zm7GezJSnTR29BD+yAYo4tAf571j+KN5N3qDFdB+B0Dx2lZOsca7F+Mn2BQv
f6jmbUp7WNjtofGMCqjKIA4KAGNO84D8icc09kBQmRs/IAmfkIZZ7SJrD6wGknHo
UQKCAQAMdI6/bD7JwdTaAReO4VVw3h21mhbsmSfiLgNYJsUL4bkmK9uSPO9Suros
C10QVkDB68ARHFC8gr/BWFwBf+/H8Gn0jlDYMgQDwE9w14JJh/lap2FQWkiTtUku
6aNaL5oHYHGOkPm+yj7Mojfh4DKGtaZho0riNeMIqO11GlQ4Hv2Flwi6dnV9UOGv
LeXaNRumNtYLGmdD1fO7PD9Nn6nAf9bH1TDPI9NhBVWEpCZl4uO6+0Ccj2vnd+7c
WXpXl39k2gntsshFe95cljRS8A76vKuDXCHpFJyu/xvsBxshyJm8ZLIFII/6QdxH
sMsLnFfMQIHsrYNU3KpOlYDLjj3a
-----END PRIVATE KEY-----
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
"pack": "npm run clean && npm run test:ci && npm run build && npm pack",
"prepublishOnly": "npm run clean && npm run build",
"test": "jest",
"test:open": "jest --detectOpenHandles",
"test:watch": "jest --watch",
"test:ci": "jest --ci",
"test:coverage": "jest --coverage",
Expand Down
3 changes: 1 addition & 2 deletions src/client/hl7Outbound.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,9 +166,8 @@ export class HL7Outbound extends EventEmitter {
let socket: Socket
const host = this._main._opt.host
const port = this._opt.port
const _optTls = this._main._opt.tls

if (typeof _optTls !== 'undefined') {
if (typeof this._main._opt.tls !== 'undefined') {
socket = tls.connect({ host, port, ...this._main._opt.socket, ...this._main._opt.tls }, () => this._listener(socket))
} else {
socket = net.createConnection({ host, port }, () => this._listener(socket))
Expand Down

0 comments on commit 87969f3

Please sign in to comment.