Interface SseRequest

All Known Implementing Classes:
SseRequestImpl

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

    • 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