Skip to content

Websockets Specification

Igor Polevoy edited this page Dec 20, 2021 · 6 revisions

Websockets Specification

This page is to provide guidance for Websockets support specification for JavaLite ActiveWeb.

Main Principles:

  1. The socket endpoint classes are to recompile on each connection, just as controllers are re-compiled on each execution. This will improve development productivity
  2. The system needs to provide an "endpoint filter" framework, similar to controller filters. The question: shall filters trigger once on a connection or on each message?
  3. The Programming API should have JSON fully baked in, so as not to force the developer to use JSONHelper left and right
  4. The Programming API should expose the HTTP session and request parameters to the endpoint component
  5. There needs to be a first-class testing framework with the following features:
    • Ability to send a single message, get a response, and validate its value
    • Ability to maintain a conversation with an endpoint and validate values coming out
  6. The system needs to match HTTP routes to corresponding websocket endpoints using a new Programming API in the RouteConfig class
  7. The system needs to be able to authenticate incoming connections to prevent hacking. In other words, developers need to be able to detect enough information from the connection in order to establish a session or user identity. See this stimulating discussion: https://stackoverflow.com/questions/17936440/accessing-httpsession-from-httpservletrequest-in-a-web-socket-serverendpoint/17994303#17994303. Looks like there is no good reliable solution for authentication outside crafting a protocol directly in sockets.
  8. Implement the ability to map requests to Java objects like controllers
Clone this wiki locally
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy