Interface SseClient

All Known Implementing Classes:
DefaultHttpClient

public interface SseClient
A client for streaming Server Sent Event streams.
Since:
1.0
Author:
Graeme Rocher
  • Method Details

    • eventStream

      <I> Publisher<Event<ByteBuffer<?>>> eventStream(@NonNull @NonNull HttpRequest<I> request)

      Perform an HTTP request and receive data as a stream of SSE Event objects as they become available without blocking.

      The downstream Subscriber can regulate demand via the subscription

      Type Parameters:
      I - The request body type
      Parameters:
      request - The HttpRequest to execute
      Returns:
      A Publisher that emits an Event with the data represented as a ByteBuffer
    • eventStream

      <I, B> Publisher<Event<B>> eventStream(@NonNull @NonNull HttpRequest<I> request, @NonNull @NonNull Argument<B> eventType)

      Perform an HTTP request and receive data as a stream of SSE Event objects as they become available without blocking.

      The downstream Subscriber can regulate demand via the subscription

      Type Parameters:
      I - The request body type
      B - The event body type
      Parameters:
      request - The HttpRequest to execute
      eventType - The event data type
      Returns:
      A Publisher that emits an Event with the data represented by the eventType argument
    • eventStream

      <I, B> Publisher<Event<B>> eventStream(@NonNull @NonNull HttpRequest<I> request, @NonNull @NonNull Argument<B> eventType, @NonNull @NonNull Argument<?> errorType)

      Perform an HTTP request and receive data as a stream of SSE Event objects as they become available without blocking.

      The downstream Subscriber can regulate demand via the subscription

      Type Parameters:
      I - The request body type
      B - The event body type
      Parameters:
      request - The HttpRequest to execute
      eventType - The event data type
      errorType - The type that the response body should be coerced into if the server responds with an error
      Returns:
      A Publisher that emits an Event with the data represented by the eventType argument
      Since:
      3.1.0
    • eventStream

      default <I, B> Publisher<Event<B>> eventStream(@NonNull @NonNull HttpRequest<I> request, @NonNull @NonNull Class<B> eventType)

      Perform an HTTP request and receive data as a stream of SSE Event objects as they become available without blocking.

      The downstream Subscriber can regulate demand via the subscription

      Type Parameters:
      I - The request body type
      B - The event body type
      Parameters:
      request - The HttpRequest to execute
      eventType - The event data type
      Returns:
      A Publisher that emits an Event with the data represented by the eventType argument
    • eventStream

      default <B> Publisher<Event<B>> eventStream(@NonNull @NonNull String uri, @NonNull @NonNull Class<B> eventType)

      Perform an HTTP GET request and receive data as a stream of SSE Event objects as they become available without blocking.

      The downstream Subscriber can regulate demand via the subscription

      Type Parameters:
      B - The event body type
      Parameters:
      uri - The request URI
      eventType - The event data type
      Returns:
      A Publisher that emits an Event with the data represented by the eventType argument
    • eventStream

      default <B> Publisher<Event<B>> eventStream(@NonNull @NonNull String uri, @NonNull @NonNull Argument<B> eventType)

      Perform an HTTP GET request and receive data as a stream of SSE Event objects as they become available without blocking.

      The downstream Subscriber can regulate demand via the subscription

      Type Parameters:
      B - The event body type
      Parameters:
      uri - The request URI
      eventType - The event data type
      Returns:
      A Publisher that emits an Event with the data represented by the eventType argument
    • create

      static SseClient create(@Nullable @Nullable URL url)
      Create a new SseClient. Note that this method should only be used outside of the context of a Micronaut application. The returned SseClient is not subject to dependency injection. The creator is responsible for closing the client to avoid leaking connections. Within a Micronaut application use Inject to inject a client instead.
      Parameters:
      url - The base URL
      Returns:
      The client
    • create

      Create a new SseClient with the specified configuration. Note that this method should only be used outside of the context of an application. Within Micronaut use Inject to inject a client instead
      Parameters:
      url - The base URL
      configuration - the client configuration
      Returns:
      The client
      Since:
      2.2.0