Skip to content

Commit be7b24c

Browse files
authored
Merge pull request #52 from panates/dev
Dev
2 parents e80eaa9 + 5facea4 commit be7b24c

File tree

6 files changed

+20
-11
lines changed

6 files changed

+20
-11
lines changed

packages/dictionary/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "hl7v2-dictionary",
33
"description": "HL7 v2 parser, serializer, validator for NodeJS",
4-
"version": "1.2.3",
4+
"version": "1.2.4",
55
"author": "Panates",
66
"license": "MIT",
77
"private": true,

packages/hl7v2/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "hl7v2",
33
"description": "HL7 v2 parser, serializer, validator for NodeJS",
4-
"version": "1.2.3",
4+
"version": "1.2.4",
55
"author": "Panates",
66
"license": "MIT",
77
"private": true,
@@ -16,7 +16,7 @@
1616
"uid": "^2.0.2"
1717
},
1818
"peerDependencies": {
19-
"hl7v2-dictionary": "^1.2.3"
19+
"hl7v2-dictionary": "^1.2.4"
2020
},
2121
"devDependencies": {
2222
"expect": "^30.0.5"

packages/hl7v2/src/hl7-message.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
ESCAPE_CHARACTER,
1919
FIELD_SEPARATOR,
2020
FS,
21+
LF,
2122
REPETITION_SEPARATOR,
2223
SUBCOMPONENT_SEPARATOR,
2324
VT,
@@ -135,7 +136,7 @@ export class HL7Message {
135136
this.escapeCharacter = raw.escapeCharacter;
136137
this.subComponentSeparator = raw.subComponentSeparator;
137138

138-
const lines = raw.data.split(CR);
139+
const lines = raw.data.replaceAll(CR + LF, CR).split(CR);
139140
const headerItems = raw.header.split(this.fieldSeparator);
140141
for (const [i, line] of lines.entries()) {
141142
if (!line) continue;

packages/net/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "hl7v2-net",
33
"description": "HL7 v2 server/client for NodeJS",
4-
"version": "1.2.3",
4+
"version": "1.2.4",
55
"author": "Panates",
66
"license": "MIT",
77
"private": true,
@@ -16,8 +16,8 @@
1616
"uid": "^2.0.2"
1717
},
1818
"peerDependencies": {
19-
"hl7v2": "^1.2.3",
20-
"hl7v2-dictionary": "^1.2.3"
19+
"hl7v2": "^1.2.4",
20+
"hl7v2-dictionary": "^1.2.4"
2121
},
2222
"devDependencies": {
2323
"expect": "^30.0.5"

packages/net/src/hl7-client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export class Hl7Client extends AsyncEventEmitter<Hl7Client.Events> {
7070
return {
7171
address: this._options.host || '',
7272
port: this._options.port || 0,
73-
family: 'tcp',
73+
family: '',
7474
} satisfies AddressInfo;
7575
}
7676
return out as AddressInfo;

packages/net/src/hl7-socket.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export class HL7Socket extends AsyncEventEmitter<HL7Socket.Events> {
1919
protected _frameStream: FrameStream;
2020
protected _waitPromises = new Set<Promise<any>>();
2121
protected _options: HL7Socket.Options;
22+
protected _peerIp: string;
2223
responseTimeout?: number;
2324
/**
2425
* User defined property
@@ -36,7 +37,12 @@ export class HL7Socket extends AsyncEventEmitter<HL7Socket.Events> {
3637
maxBufferSize: options?.maxBufferSize,
3738
});
3839
this._frameStream = frameStream;
39-
socket.on('error', err => this.emit('error', err));
40+
socket.on('error', (err: any) => {
41+
if (err.code === 'ECONNRESET') {
42+
err.message = `Connection reset by peer`;
43+
}
44+
this.emit('error', err);
45+
});
4046
socket.pipe(frameStream);
4147
socket.on('connect', () => this.emit('connect'));
4248
socket.on('ready', () => this.emit('ready'));
@@ -51,6 +57,9 @@ export class HL7Socket extends AsyncEventEmitter<HL7Socket.Events> {
5157
this.emit('data', data);
5258
this._onData(data);
5359
});
60+
this._peerIp = (socket.address() as any)?.address || '';
61+
if (this._peerIp.lastIndexOf(':') !== -1)
62+
this._peerIp = this._peerIp.substring(this._peerIp.lastIndexOf(':') + 1);
5463
}
5564

5665
get connected(): boolean {
@@ -78,8 +87,7 @@ export class HL7Socket extends AsyncEventEmitter<HL7Socket.Events> {
7887
}
7988

8089
peerIp() {
81-
const address: any = this.socket.address();
82-
return address.address;
90+
return this._peerIp;
8391
}
8492

8593
get writable() {

0 commit comments

Comments
 (0)