Allow binding websocketPort
to port
#1799
Closed
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.
Description
In the following
serverless.yml
configuration:The following error occurs at startup:
Motivation and Context
In a lot of HTTP + Websocket services, the Websocket and HTTP server can share the same port since they are on different protocols.
This PR:
AbstractHttpServer
superclass which sets up commonalities between the variousHttpServer
classes most likely due to copy-paste of them over timeHttpServer
classes are more uniformLambda
class to maintain a map of whichHttpServer
is on which portMap()
to have a singleHttpServer
created once and is the sole source of truth for allHttpServer
instancesHttpServer
in thewebsocket
class override superclass functions to bind on the correct server.Finally:
websocketPort
is set to the same value asport
, the@connections
API is hosted on theHttpServer
created by theLambda
class. Less is more, right?!How Has This Been Tested?
websocket-oneway
andwebsocket-twoway
integration tests were copied with the new shared port configuration and also work.