This repository has been archived by the owner on Sep 23, 2021. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As discussed in #28, here are some enhancements to add HTTP server support. I used the web socket components as a starting point, to get something working based on the tutorial at: http://blog.modulus.io/build-your-first-http-server-in-nodejs
One major difference from the web socket code is that I put the listening code in its own fiber and use some internal queueing, so that each fiber done() callback object is only triggered once. I think this is significantly cleaner and less implementation-dependent, if not any more correct. I may propose similar enhancements for the web socket code.
Another observation is that in newer JS FBP implementations, it is possible to send a connection object that can be used to send a response in another stage. What this means is that we really only need a HTTP server listener component in the library.
There are also a couple of bug fixes that I originally proposed in PR #30: