parsedArriSseRequest<T> function

EventSource<T> parsedArriSseRequest<T>(
  1. String url, {
  2. Client? httpClient,
  3. required HttpMethod method,
  4. required T parser(
    1. String data
    ),
  5. Map<String, dynamic>? params,
  6. FutureOr<Map<String, String>> headers()?,
  7. Duration? retryDelay,
  8. int? maxRetryCount,
  9. SseHookOnMessage<T>? onMessage,
  10. SseHookOnOpen<T>? onOpen,
  11. SseHookOnClose<T>? onClose,
  12. SseHookOnError<T>? onError,
  13. String? lastEventId,
  14. String? clientVersion,
})

Implementation

EventSource<T> parsedArriSseRequest<T>(
  String url, {
  http.Client? httpClient,
  required HttpMethod method,
  required T Function(String data) parser,
  Map<String, dynamic>? params,
  FutureOr<Map<String, String>> Function()? headers,
  Duration? retryDelay,
  int? maxRetryCount,
  SseHookOnMessage<T>? onMessage,
  SseHookOnOpen<T>? onOpen,
  SseHookOnClose<T>? onClose,
  SseHookOnError<T>? onError,
  String? lastEventId,
  String? clientVersion,
}) {
  return EventSource(
    httpClient: httpClient,
    url: url,
    method: method,
    parser: parser,
    params: params,
    headers: () async {
      final result = await headers?.call() ?? {};
      if (clientVersion != null && clientVersion.isNotEmpty) {
        result["client-version"] = clientVersion;
      }
      return result;
    },
    retryDelay: retryDelay ?? Duration.zero,
    maxRetryCount: maxRetryCount,
    lastEventId: lastEventId,
    onMessage: onMessage,
    onOpen: onOpen,
    onClose: onClose,
    onError: onError,
  );
}