Class SseRequestHandler

java.lang.Object
com.vaadin.flow.server.communication.SseRequestHandler
All Implemented Interfaces:
RequestHandler, SessionExpiredHandler, Serializable

public class SseRequestHandler extends Object implements RequestHandler, SessionExpiredHandler
Handles requests to open an SSE (Server-Sent Events) push connection between the client and the server. SSE is a unidirectional server-to-client channel; client-to-server messages continue to use XHR.

This handler does not use the Atmosphere framework.

For internal use only. May be renamed or removed in a future release.

Since:
24.7
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • SseRequestHandler

      public SseRequestHandler(VaadinServletService service)
      Creates an instance connected to the given service.
      Parameters:
      service - the service this handler belongs to
  • Method Details

    • handleRequest

      public boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException
      Description copied from interface: RequestHandler
      Called when a request needs to be handled. If a response is written, this method should return true to indicate that no more request handlers should be invoked for the request.

      Note that request handlers by default do not lock the session. If you are using VaadinSession or anything inside the VaadinSession you must ensure the session is locked. This can be done by extending SynchronizedRequestHandler or by using VaadinSession.accessSynchronously(Command) or UI.accessSynchronously(Command).

      Specified by:
      handleRequest in interface RequestHandler
      Parameters:
      session - The session for the request
      request - The request to handle
      response - The response object to which a response can be written.
      Returns:
      true if a response has been written and no further request handlers should be called, otherwise false
      Throws:
      IOException - If an IO error occurred
    • handleSessionExpired

      public boolean handleSessionExpired(VaadinRequest request, VaadinResponse response) throws IOException
      Description copied from interface: SessionExpiredHandler
      Called when the a session expiration has occurred and a notification needs to be sent to the user. If a response is written, this method should return true to indicate that no more SessionExpiredHandler handlers should be invoked for the request.
      Specified by:
      handleSessionExpired in interface SessionExpiredHandler
      Parameters:
      request - The request to handle
      response - The response object to which a response can be written.
      Returns:
      true if a response has been written and no further request handlers should be called, otherwise false
      Throws:
      IOException - If an IO error occurred
    • destroy

      public void destroy()
      Frees any resources currently in use.