Interface SseRequest
- All Known Implementing Classes:
SseRequestImpl
public interface SseRequest
The Server Sent Event Request Builder interface
-
Method Summary
Modifier and TypeMethodDescriptionThe Accept header to send.Basic auth credentialsconnect()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.connect(SseHandler handler) execute a SSE Event connection async.Add a simple cookie headercookie(Collection<Cookie> cookies) Add a collection of cookie headersAdd a simple cookie headergetUrl()Add a http header, HTTP supports multiple of the same header.headerReplace(String name, String value) Replace a header value or add it if it doesn't existAdd headers as a maplastEventId(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.queryString(String name, Object value) add a query param to the url.queryString(String name, Collection<?> value) Add multiple param with the same param name. queryString("name", Arrays.asList("bob", "linda")) will result in ?queryString(Map<String, Object> parameters) Add query params as a map of name value pairsrouteParam(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/fredrouteParam(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
-
Method Details
-
routeParam
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
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
Basic auth credentials- Parameters:
username- the usernamepassword- the password- Returns:
- this request builder
-
accept
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
Add a http header, HTTP supports multiple of the same header. This will continue to append new values- Parameters:
name- name of the headervalue- value for the header- Returns:
- this request builder
-
headerReplace
Replace a header value or add it if it doesn't exist- Parameters:
name- name of the headervalue- value for the header- Returns:
- this request builder
-
headers
Add headers as a map- Parameters:
headerMap- a map of headers- Returns:
- this request builder
-
cookie
Add a simple cookie header- Parameters:
name- the name of the cookievalue- the value of the cookie- Returns:
- this request builder
-
cookie
Add a simple cookie header- Parameters:
cookie- a cookie- Returns:
- this request builder
-
cookie
Add a collection of cookie headers- Parameters:
cookies- a cookie- Returns:
- this request builder
-
queryString
add a query param to the url. The value will be URL-Encoded- Parameters:
name- the name of the paramvalue- the value of the param- Returns:
- this request builder
-
queryString
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 paramvalue- a collection of values- Returns:
- this request builder
-
queryString
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
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
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
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
-