DEV Community

Discussion on: Part 5: Completing the Client Component

Collapse
 
robfz profile image
Roberto Fierros Z

Hi John, great series! I'm using them to build a custom transport for Amazon SQS, really having a lot of fun.

I am having issues passing the context (e.g. the FayeContext) to the user-land event handlers that are decorated with @EventPattern. For some reason, the context that the handler receives is always undefined. This also happens in the provided code, if you try to console the context in the addCustomer handler in the nestMicroservice app.

Collapse
 
johnbiundo profile image
John Biundo

Hi Roberto, thanks for the feedback. Great to hear about the SQS project!

Let me take a look and see if I'm seeing the same thing. Might take a day or so.

Collapse
 
robfz profile image
Roberto Fierros Z

Cool, thanks!

Thread Thread
 
johnbiundo profile image
John Biundo

@roberto : I can't reproduce this issue. I believe the relevant article section is in part 3. When I check out the part 3 branch of the repo and fire everything up, then issue a GET /customers request, I see the following in the log for the nestMicroservice app:

[Nest] 31573 - 04/04/2020, 10:22:50 AM [AppController] Faye Context: {"args":["/get-customers"]}

Which is, I think, what we expect. Are you seeing something different at that point?

Thread Thread
 
robfz profile image
Roberto Fierros Z

Hi John, I just found out what was happening.

I was trying to use the context on the addCustomer handler. The reasons why I was getting the context as undefined was because I wasn't using the @Ctx decorator.

Something else I found out is that when handling events, interceptors won't work. The ServerFaye is missing the this.send(response$) call when dealing with event handlers. Apart from that, I think the first version of my transport is done. Thanks!

Thread Thread
 
johnbiundo profile image
John Biundo

Awesome. I'll put that interceptor issue on my to-do list (a bit long at the moment 😉) Thanks for reporting, and looking forward to seeing your transporter!