Table of Contents

Class ObservableQueryExtensions

Namespace
Cratis.Applications.Queries
Assembly
Cratis.Applications.dll

Provides extension methods for working with observable queries.

public static class ObservableQueryExtensions
Inheritance
ObservableQueryExtensions
Inherited Members

Methods

CreateClientEnumerableObservableFrom(IServiceProvider, ObjectResult, JsonOptions)

Creates a client enumerable observable from an object result.

public static IClientEnumerableObservable CreateClientEnumerableObservableFrom(IServiceProvider serviceProvider, ObjectResult objectResult, JsonOptions options)

Parameters

serviceProvider IServiceProvider

The service provider.

objectResult ObjectResult

The object result.

options JsonOptions

The JSON options.

Returns

IClientEnumerableObservable

The client enumerable observable.

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

Creates a client enumerable observable from an async enumerable directly.

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

Parameters

serviceProvider IServiceProvider

The service provider.

enumerable IAsyncEnumerable<T>

The async enumerable to wrap.

options JsonOptions

The JSON options.

Returns

IClientEnumerableObservable

The client enumerable observable.

Type Parameters

T

The type of data being enumerated.

CreateClientObservableFrom(IServiceProvider, ObjectResult, IQueryContextManager, JsonOptions)

Creates a client observable from an object result.

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

Parameters

serviceProvider IServiceProvider

The service provider.

objectResult ObjectResult

The object result.

queryContextManager IQueryContextManager

The query context manager.

options JsonOptions

The JSON options.

Returns

IClientObservable

The client observable.

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

Creates a client observable from a subject directly.

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

Parameters

serviceProvider IServiceProvider

The service provider.

subject ISubject<T>

The subject to wrap.

queryContext QueryContext

The query context.

options JsonOptions

The JSON options.

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.