You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Using nodejs microcule.plugins.spawn doesn't close connection #39
The expressjs examples from https://github.com/Stackvana/microcule/tree/master/examples, don't close the connection. Only the javascript code example works as there is a res.end() in it.
changed the title [-]Using nodejs microcule.plugins.spawn close connection[/-][+]Using nodejs microcule.plugins.spawn doesn't close connection[/+]on Jul 25, 2017
Can you be more specific which example you are having issues with?
There should be a mechanism in place which ends the request when the script completes. It's possible I failed to port over this functionality from hook.io, but I know we did create a way for this to work.
Basically, if the response isn't closed inside of a script, we need to have a middleware at the end of the server to catch and close the response. This will only fire if the script itself doesn't close the response.
I'll take the time to update the other examples and see about adding documentation for explicitly closing the request inside non-JS services.
I think right now, it's up to the developer to determine which HTTP status will be sent back into the response. It would probably be correct for us to provide a configurable mapping of HTTP response codes to the exit codes. I believe hook.io is doing this already to some extent.
If you could post some example code or scenarios with what you would expect to see as a result, I would be glad to review and see if we can incorporate it into the project.
Activity
[-]Using nodejs microcule.plugins.spawn close connection[/-][+]Using nodejs microcule.plugins.spawn doesn't close connection[/+]mphuie commentedon Jul 25, 2017
This is on OS X 10.12.4 with Node v6.9.5
Marak commentedon Jul 25, 2017
Can you be more specific which example you are having issues with?
There should be a mechanism in place which ends the request when the script completes. It's possible I failed to port over this functionality from hook.io, but I know we did create a way for this to work.
mphuie commentedon Jul 25, 2017
Tried these. Only the JS example in
express-multi-language.jsworkshttps://github.com/Stackvana/microcule/blob/master/examples/express-multi-language.js
https://github.com/Stackvana/microcule/blob/master/examples/express-python.js
https://github.com/Stackvana/microcule/blob/master/examples/express-any-binary.js
Marak commentedon Jul 25, 2017
I think I got it, one moment.
Marak commentedon Jul 25, 2017
@mphuie - I think I got it. This makes sense. I must have forgotten to update the examples to use the new API semantics.
If you look at https://github.com/Stackvana/microcule/blob/master/examples/express-python.js#L19, you'll see it's now updated and should be working.
Basically, if the response isn't closed inside of a script, we need to have a middleware at the end of the server to catch and close the response. This will only fire if the script itself doesn't close the response.
I'll take the time to update the other examples and see about adding documentation for explicitly closing the request inside non-JS services.
Does that work for you?
mphuie commentedon Jul 25, 2017
Yep, that works, doesn't that mean the server will return a 200 regardless of exit code?
Marak commentedon Jul 25, 2017
I think right now, it's up to the developer to determine which HTTP status will be sent back into the response. It would probably be correct for us to provide a configurable mapping of HTTP response codes to the exit codes. I believe hook.io is doing this already to some extent.
If you could post some example code or scenarios with what you would expect to see as a result, I would be glad to review and see if we can incorporate it into the project.
Thank you for your feedback.
[api] [refactor] Assume no chain by default #39