com.vaadin.flow.server.communication.

Class PushRequestHandler

java.lang.Object
com.vaadin.flow.server.communication.PushRequestHandler

All Implemented Interfaces:

RequestHandler, SessionExpiredHandler, Serializable

public class PushRequestHandler extends Object implements RequestHandler, SessionExpiredHandler

Handles requests to open a push (bidirectional) communication channel between the client and the server. After the initial request, communication through the push channel is managed by PushAtmosphereHandler and PushHandler.

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

Since:

1.0

Author:

Vaadin Ltd

See Also:

  • Constructor Details

    • PushRequestHandler

      public PushRequestHandler(VaadinServletService service) throws ServiceException

      Creates an instance connected to the given service.

      Parameters:

      service - the service this handler belongs to

      Throws:

      ServiceException - if initialization of Atmosphere fails

  • Method Details

    • createPushHandler

      protected PushHandler createPushHandler(VaadinServletService service)

      Creates a push handler for this request handler.

      Create your own request handler and override this method if you want to customize the PushHandler, e.g. to dynamically decide the suspend timeout.

      Parameters:

      service - the vaadin service

      Returns:

      the push handler to use for this service

    • 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

    • destroy

      public void destroy()

      Frees any resources currently in use.

    • 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