@@ -13,47 +13,53 @@ const Errors = require('./errors')
13
13
const Errio = require ( 'errio' )
14
14
const runExt = require ( './extensionRunner' ) . extRunner
15
15
const { responseExtIterator, serverExtIterator } = require ( './extensionRunner' )
16
+ const {
17
+ sReplySent,
18
+ sReplyRequest,
19
+ sReplyResponse,
20
+ sReplyHemera
21
+ } = require ( './symbols' )
16
22
17
23
class Reply {
18
24
constructor ( request , response , hemera , logger ) {
19
- this . _request = request
20
- this . _response = response
21
- this . hemera = hemera
25
+ this [ sReplyRequest ] = request
26
+ this [ sReplyResponse ] = response
27
+ this [ sReplyHemera ] = hemera
22
28
this . log = logger
23
- this . sent = false
29
+ this [ sReplySent ] = false
24
30
this . isError = false
25
31
}
26
32
27
33
set payload ( value ) {
28
- this . _response . payload = value
34
+ this [ sReplyResponse ] . payload = value
29
35
}
30
36
31
37
get payload ( ) {
32
- return this . _response . payload
38
+ return this [ sReplyResponse ] . payload
33
39
}
34
40
35
41
set error ( value ) {
36
- this . _response . error = this . hemera . _attachHops (
37
- this . hemera . getRootError ( value )
42
+ this [ sReplyResponse ] . error = this [ sReplyHemera ] . _attachHops (
43
+ this [ sReplyHemera ] . getRootError ( value )
38
44
)
39
45
}
40
46
41
47
get error ( ) {
42
- return this . _response . error
48
+ return this [ sReplyResponse ] . error
43
49
}
44
50
45
51
next ( msg ) {
46
- this . sent = false
52
+ this [ sReplySent ] = false
47
53
this . send ( msg )
48
54
}
49
55
50
56
send ( msg ) {
51
- if ( this . sent === true ) {
57
+ if ( this [ sReplySent ] === true ) {
52
58
this . log . warn ( new Errors . HemeraError ( 'Reply already sent' ) )
53
59
return
54
60
}
55
61
56
- this . sent = true
62
+ this [ sReplySent ] = true
57
63
58
64
const isNativeError = msg instanceof Error
59
65
@@ -85,8 +91,8 @@ class Reply {
85
91
return
86
92
}
87
93
88
- if ( this . hemera . _errorHandler ) {
89
- const result = this . hemera . _errorHandler ( this . hemera , err , this . reply )
94
+ if ( this [ sReplyHemera ] . _errorHandler ) {
95
+ const result = this [ sReplyHemera ] . _errorHandler ( this [ sReplyHemera ] , err , this . reply )
90
96
if ( result && typeof result . then === 'function' ) {
91
97
result
92
98
. then ( ( ) => {
@@ -97,7 +103,7 @@ class Reply {
97
103
. catch ( err => {
98
104
const internalError = new Errors . HemeraError (
99
105
'error handler' ,
100
- this . hemera . errorDetails
106
+ this [ sReplyHemera ] . errorDetails
101
107
) . causedBy ( err )
102
108
this . log . error ( internalError )
103
109
} )
@@ -112,9 +118,9 @@ class Reply {
112
118
113
119
_sendHook ( ) {
114
120
runExt (
115
- this . hemera . _extensionManager . onSend ,
121
+ this [ sReplyHemera ] . _extensionManager . onSend ,
116
122
serverExtIterator ,
117
- this . hemera ,
123
+ this [ sReplyHemera ] ,
118
124
err => this . _sendHookCallback ( err )
119
125
)
120
126
}
@@ -123,13 +129,13 @@ class Reply {
123
129
if ( extensionError ) {
124
130
const internalError = new Errors . HemeraError (
125
131
'onSend extension' ,
126
- this . hemera . errorDetails
132
+ this [ sReplyHemera ] . errorDetails
127
133
) . causedBy ( extensionError )
128
134
this . log . error ( internalError )
129
135
130
136
// first set error has precedence
131
137
if ( this . error === null ) {
132
- this . sent = false
138
+ this [ sReplySent ] = false
133
139
this . send ( extensionError )
134
140
return
135
141
}
@@ -140,9 +146,9 @@ class Reply {
140
146
141
147
_send ( ) {
142
148
let msg = this . build (
143
- this . hemera . meta$ ,
144
- this . hemera . trace$ ,
145
- this . hemera . request$
149
+ this [ sReplyHemera ] . meta$ ,
150
+ this [ sReplyHemera ] . trace$ ,
151
+ this [ sReplyHemera ] . request$
146
152
)
147
153
148
154
// don't try to send encoding issues back because
@@ -156,18 +162,18 @@ class Reply {
156
162
return
157
163
}
158
164
159
- if ( this . _response . replyTo ) {
160
- this . hemera . _transport . send ( this . _response . replyTo , msg . value )
165
+ if ( this [ sReplyResponse ] . replyTo ) {
166
+ this [ sReplyHemera ] . _transport . send ( this [ sReplyResponse ] . replyTo , msg . value )
161
167
}
162
168
163
169
this . _onResponse ( )
164
170
}
165
171
166
172
_onResponse ( ) {
167
173
runExt (
168
- this . hemera . _extensionManager . onResponse ,
174
+ this [ sReplyHemera ] . _extensionManager . onResponse ,
169
175
responseExtIterator ,
170
- this . hemera ,
176
+ this [ sReplyHemera ] ,
171
177
err => {
172
178
if ( err ) {
173
179
let internalError = new Errors . ParseError (
@@ -189,7 +195,7 @@ class Reply {
189
195
error : this . error ? Errio . toObject ( this . error ) : null
190
196
}
191
197
192
- return this . hemera . _serverEncoder ( message )
198
+ return this [ sReplyHemera ] . _serverEncoder ( message )
193
199
}
194
200
}
195
201
0 commit comments