Interface SseRequest

  • All Known Implementing Classes:
    SseRequestImpl

    public interface SseRequest
    The Server Sent Event Request Builder interface
    • Method Detail

      • routeParam

        SseRequest routeParam​(String name,
                              String value)
        add a route param that replaces the matching {name} For example routeParam("name", "fred") will replace {name} in https://localhost/users/{user} to https://localhost/users/fred
        Parameters:
        name - the name of the param (do not include curly braces {}
        value - the value to replace the placeholder with
        Returns:
        this request builder
      • routeParam

        SseRequest routeParam​(Map<String,​Object> params)
        add a route param map that replaces the matching {name} For example routeParam(Map.of("name", "fred")) will replace {name} in https://localhost/users/{user} to https://localhost/users/fred
        Parameters:
        params - a map of path params
        Returns:
        this request builder
      • basicAuth

        SseRequest basicAuth​(String username,
                             String password)
        Basic auth credentials
        Parameters:
        username - the username
        password - the password
        Returns:
        this request builder
      • accept

        SseRequest accept​(String value)
        The Accept header to send. The default (and standard) is "text/event-stream"
        Parameters:
        value - a valid mime type for the Accept header
        Returns:
        this request builder
      • header

        SseRequest header​(String name,
                          String value)
        Add a http header, HTTP supports multiple of the same header. This will continue to append new values
        Parameters:
        name - name of the header
        value - value for the header
        Returns:
        this request builder
      • headerReplace

        SseRequest headerReplace​(String name,
                                 String value)
        Replace a header value or add it if it doesn't exist
        Parameters:
        name - name of the header
        value - value for the header
        Returns:
        this request builder
      • headers

        SseRequest headers​(Map<String,​String> headerMap)
        Add headers as a map
        Parameters:
        headerMap - a map of headers
        Returns:
        this request builder
      • cookie

        SseRequest cookie​(String name,
                          String value)
        Add a simple cookie header
        Parameters:
        name - the name of the cookie
        value - the value of the cookie
        Returns:
        this request builder
      • cookie

        SseRequest cookie​(Cookie cookie)
        Add a simple cookie header
        Parameters:
        cookie - a cookie
        Returns:
        this request builder
      • cookie

        SseRequest cookie​(Collection<Cookie> cookies)
        Add a collection of cookie headers
        Parameters:
        cookies - a cookie
        Returns:
        this request builder
      • queryString

        SseRequest queryString​(String name,
                               Object value)
        add a query param to the url. The value will be URL-Encoded
        Parameters:
        name - the name of the param
        value - the value of the param
        Returns:
        this request builder
      • queryString

        SseRequest queryString​(String name,
                               Collection<?> value)
        Add multiple param with the same param name. queryString("name", Arrays.asList("bob", "linda")) will result in ?name=bob&name=linda
        Parameters:
        name - the name of the param
        value - a collection of values
        Returns:
        this request builder
      • queryString

        SseRequest queryString​(Map<String,​Object> parameters)
        Add query params as a map of name value pairs
        Parameters:
        parameters - a map of params
        Returns:
        this request builder
      • getHeaders

        Headers getHeaders()
        Returns:
        the headers for the request
      • lastEventId

        SseRequest lastEventId​(String id)
        Sets the Last-Event-ID HTTP request header reports an EventSource object's last event ID string to the server when the user agent is to reestablish the connection.
        Parameters:
        id - the ID
        Returns:
        this request builder
      • getUrl

        String getUrl()
        Returns:
        the full URL if the request
      • connect

        CompletableFuture<Void> connect​(SseHandler handler)
        execute a SSE Event connection async. Because these events are a stream they are processed async and take a handler you can use to consume the events
        Parameters:
        handler - the SseHandler
        Returns:
        a CompletableFuture which can be used to monitor if the task is complete or not
      • connect

        Stream<Event> connect()
        execute a synchronous Server Sent Event Stream Due to the nature of SSE this stream may remain open indefinitely meaning you may be blocked while attempting to collect the stream. It is recommend you consume the stream rather than doing any action that requires it to stop.
        Returns:
        a stream of events