Class ObservableQueryExtensions

Namespace
Cratis.Arc.Queries
Assembly
Cratis.Arc.dll

Provides extension methods for working with observable queries.

public static class ObservableQueryExtensions
Inheritance
ObservableQueryExtensions
Inherited Members

Methods

CreateClientEnumerableObservableFrom(IServiceProvider, ObjectResult)

Creates a client enumerable observable from an object result.

public static IClientEnumerableObservable CreateClientEnumerableObservableFrom(IServiceProvider serviceProvider, ObjectResult objectResult)

Parameters

serviceProvider IServiceProvider

The service provider.

objectResult ObjectResult

The object result.

Returns

IClientEnumerableObservable

The client enumerable observable.

CreateClientEnumerableObservableFrom<T>(IServiceProvider, IAsyncEnumerable<T>)

Creates a client enumerable observable from an async enumerable directly.

public static IClientEnumerableObservable CreateClientEnumerableObservableFrom<T>(IServiceProvider serviceProvider, IAsyncEnumerable<T> enumerable)

Parameters

serviceProvider IServiceProvider

The service provider.

enumerable IAsyncEnumerable<T>

The async enumerable to wrap.

Returns

IClientEnumerableObservable

The client enumerable observable.

Type Parameters

T

The type of data being enumerated.

CreateClientEnumerableObservableSSEFrom(IServiceProvider, ObjectResult)

Creates a client enumerable observable from an object result using Server-Sent Events.

public static IClientEnumerableObservable CreateClientEnumerableObservableSSEFrom(IServiceProvider serviceProvider, ObjectResult objectResult)

Parameters

serviceProvider IServiceProvider

The service provider.

objectResult ObjectResult

The object result.

Returns

IClientEnumerableObservable

The client enumerable observable.

CreateClientObservableFrom(IServiceProvider, ObjectResult, IQueryContextManager)

Creates a client observable from an object result.

public static IClientObservable CreateClientObservableFrom(IServiceProvider serviceProvider, ObjectResult objectResult, IQueryContextManager queryContextManager)

Parameters

serviceProvider IServiceProvider

The service provider.

objectResult ObjectResult

The object result.

queryContextManager IQueryContextManager

The query context manager.

Returns

IClientObservable

The client observable.

CreateClientObservableFrom<T>(IServiceProvider, ISubject<T>, QueryContext)

Creates a client observable from a subject directly.

public static IClientObservable CreateClientObservableFrom<T>(IServiceProvider serviceProvider, ISubject<T> subject, QueryContext queryContext)

Parameters

serviceProvider IServiceProvider

The service provider.

subject ISubject<T>

The subject to wrap.

queryContext QueryContext

The query context.

Returns

IClientObservable

The client observable.

Type Parameters

T

The type of data being observed.

CreateClientObservableSSEFrom(IServiceProvider, ObjectResult, IQueryContextManager)

Creates a client observable from an object result using Server-Sent Events.

public static IClientObservable CreateClientObservableSSEFrom(IServiceProvider serviceProvider, ObjectResult objectResult, IQueryContextManager queryContextManager)

Parameters

serviceProvider IServiceProvider

The service provider.

objectResult ObjectResult

The object result.

queryContextManager IQueryContextManager

The query context manager.

Returns

IClientObservable

The client observable.

CreateClientObservableSSEFrom<T>(IServiceProvider, ISubject<T>, QueryContext)

Creates a client observable SSE from a subject directly.

public static IClientObservable CreateClientObservableSSEFrom<T>(IServiceProvider serviceProvider, ISubject<T> subject, QueryContext queryContext)

Parameters

serviceProvider IServiceProvider

The service provider.

subject ISubject<T>

The subject to wrap.

queryContext QueryContext

The query context.

Returns

IClientObservable

The client observable.

Type Parameters

T

The type of data being observed.

HandleWebSocketHeadersForMultipleProxies(HttpContext, ILogger?)

Handles WebSocket headers for connections that are going through multiple proxies.

public static void HandleWebSocketHeadersForMultipleProxies(this HttpContext httpContext, ILogger? logger = null)

Parameters

httpContext HttpContext

The HTTP context to handle for.

logger ILogger

Optional logger for diagnostics.

IsAsyncEnumerableResult(ObjectResult)

Determines if the result is an AsyncEnumerable result.

public static bool IsAsyncEnumerableResult(this ObjectResult objectResult)

Parameters

objectResult ObjectResult

The object result to check.

Returns

bool

True if it's an AsyncEnumerable result, false otherwise.

IsStreamingResult(ObjectResult)

Determines if the result is a streaming result (Subject or AsyncEnumerable).

public static bool IsStreamingResult(this ObjectResult objectResult)

Parameters

objectResult ObjectResult

The object result to check.

Returns

bool

True if it's a streaming result, false otherwise.

IsSubjectResult(ObjectResult)

Determines if the result is a Subject result.

public static bool IsSubjectResult(this ObjectResult objectResult)

Parameters

objectResult ObjectResult

The object result to check.

Returns

bool

True if it's a Subject result, false otherwise.