Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebSocket API #17

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

0x41111111
Copy link

This PR adds support for mounting WebSocket handler classes on URLs.

The API call essentially mirrors its Java counterpart. It takes a URL and a class containing WebSocket handler methods.

In addition, webSocketIdleTimeoutMillis has also been implemented, which, like webSocket, works exactly like the Java version.

The examples under src/test/ have been updated and a sample handler class has been added.

Usage:

// Attach a WebSocket handler to a Spark instance
val http = ignite()
http.webSocket("/ws", MyTotallyImplementedWebSocketHandler::class)
// Make connections time out after 30 seconds with no activity
http.webSocketIdleTimeoutMillis(30000)

// Attach a WebSocket handler to a static Spark environment
webSocket("/ws", MyTotallyImplementedWebSocketHandler::class)
// Set the inactivity timeout to 30 seconds
webSocketIdleTimeoutMillis(30000)

Related to #11.

This commit includes wrappers for the WebSocket class mapping method in the Java version.

The examples have been updated to show the use of a sample handler.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant