11import {
2- HttpMessageHeader ,
32 MeshBackend ,
43 MeshBackendBase ,
54 MeshBackendProvider ,
65 MeshBackendProvision ,
76 MeshVoidResponse ,
87 SubjectMessage ,
98 SubjectMessageEnvelope ,
9+ SubjectMessageHeader ,
1010 SubjectMessageOptions ,
1111 toMeshBackendProvision
1212} from '../../' ;
@@ -21,8 +21,8 @@ const log : debug.Debugger = debug('meshage')
2121 . extend ( 'http' ) ;
2222
2323interface PreparedHttpMessage {
24- message : SubjectMessage ;
25- headerData : HttpMessageHeader ;
24+ message : SubjectMessage ;
25+ headerData : SubjectMessageHeader ;
2626}
2727
2828class HttpMeshBackend extends MeshBackendBase {
@@ -71,13 +71,19 @@ class HttpMeshBackend extends MeshBackendBase {
7171 // tslint:disable-next-line:no-unsafe-any
7272 const messageName : string = query . messageName ? `${ query . messageName } ` : req . body . name ;
7373 return {
74- message : { ...req . body , name : messageName } ,
74+ message : { ...req . body } ,
7575 headerData : {
76- headers : req . headers ,
77- url : req . url ,
78- publicUrl : reqUrl ,
79- params,
80- query
76+ uid : '' , // replaced later,
77+ subject : params . subject ,
78+ partitionKey : params . partitionKey || query . partitionKey ,
79+ name : messageName ,
80+ http : {
81+ headers : req . headers ,
82+ url : req . url ,
83+ publicUrl : reqUrl ,
84+ params,
85+ query
86+ }
8187 }
8288 } ;
8389 }
@@ -162,17 +168,17 @@ class HttpMeshBackend extends MeshBackendBase {
162168 async ( req : express . Request , res : express . Response ) => {
163169 try {
164170 const httpMessage : PreparedHttpMessage = HttpMeshBackend . prepareHttpMessage ( req ) ;
165- if ( ! httpMessage . message . name ) {
171+ if ( ! httpMessage . headerData . name ) {
166172 res . status ( 400 )
167173 . send ( { error : 'Missing message name' } ) ;
168174 } else {
169- const result = await this . send ( httpMessage . headerData . params . subject ,
175+ const result = await this . send ( httpMessage . headerData . subject ,
170176 undefined ,
171177 httpMessage . message ,
172178 {
173- wait : req . query . wait === 'true' || req . query . wait === undefined ,
174- timeout : req . query . timeout === undefined ? undefined : parseInt ( `${ req . query . timeout } ` , 10 ) ,
175- additionalHeaderData : { http : httpMessage . headerData }
179+ wait : httpMessage . headerData . http . query . wait === 'true' || httpMessage . headerData . http . query . wait === undefined ,
180+ timeout : httpMessage . headerData . http . query . timeout === undefined ? undefined : parseInt ( `${ httpMessage . headerData . http . query . timeout } ` , 10 ) ,
181+ additionalHeaderData : httpMessage . headerData
176182 } , true ) ;
177183 HttpMeshBackend . prepareHttpResponse ( result , res ) ;
178184 }
@@ -185,19 +191,19 @@ class HttpMeshBackend extends MeshBackendBase {
185191 async ( req : express . Request , res : express . Response ) => {
186192 try {
187193 const httpMessage : PreparedHttpMessage = HttpMeshBackend . prepareHttpMessage ( req ) ;
188- if ( ! httpMessage . message . name ) {
194+ if ( ! httpMessage . headerData . name ) {
189195 res . status ( 400 )
190196 . send ( { error : 'Missing message name' } ) ;
191197 } else {
192198 const result = await this . send (
193- httpMessage . headerData . params . subject ,
194- httpMessage . headerData . params . partitionKey ,
199+ httpMessage . headerData . subject ,
200+ httpMessage . headerData . partitionKey ,
195201 httpMessage . message ,
196202 {
197- wait : req . query . wait === 'true' || req . query . wait === undefined ,
198- timeout : req . query . timeout === undefined ? undefined : parseInt ( `${ req . query . timeout } ` , 10 ) ,
203+ wait : httpMessage . headerData . http . query . wait === 'true' || httpMessage . headerData . http . query . wait === undefined ,
204+ timeout : httpMessage . headerData . http . query . timeout === undefined ? undefined : parseInt ( `${ httpMessage . headerData . http . query . timeout } ` , 10 ) ,
199205 keepSignals : true ,
200- additionalHeaderData : { http : httpMessage . headerData }
206+ additionalHeaderData : httpMessage . headerData
201207 } ,
202208 false ) ;
203209 HttpMeshBackend . prepareHttpResponse ( result , res ) ;
0 commit comments