Class IncomingRequestExtensions
- Namespace
- IceRpc.Ice.Operations
- Assembly
- IceRpc.Ice.dll
Provides extension methods for IncomingRequest to decode its Ice-encoded payload.
public static class IncomingRequestExtensions
- Inheritance
-
IncomingRequestExtensions
- Inherited Members
Methods
CreateIceExceptionResponse(IncomingRequest, IceException)
Creates an outgoing response with status code ApplicationError with an Ice exception payload.
public static OutgoingResponse CreateIceExceptionResponse(this IncomingRequest request, IceException iceException)
Parameters
requestIncomingRequestThe incoming request.
iceExceptionIceExceptionThe Ice exception to encode in the payload.
Returns
- OutgoingResponse
The new outgoing response.
DecodeArgsAsync<T>(IncomingRequest, DecodeFunc<T>, IActivator, CancellationToken)
Decodes a request payload into a list of arguments.
public static ValueTask<T> DecodeArgsAsync<T>(this IncomingRequest request, DecodeFunc<T> decodeFunc, IActivator defaultActivator, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeFuncDecodeFunc<T>The decode function for the arguments from the payload.
defaultActivatorIActivatorThe activator to use when the activator provided by the request's IIceFeature is null.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<T>
The request arguments.
Type Parameters
TThe type of the request parameters.
DecodeEmptyArgsAsync(IncomingRequest, CancellationToken)
Verifies that a request payload carries no argument or only unknown tagged arguments.
public static ValueTask DecodeEmptyArgsAsync(this IncomingRequest request, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask
A value task that completes when the checking is complete.
DispatchOperationAsync(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask>, Func<IFeatureCollection, CancellationToken, ValueTask>, Func<IceException, bool>?, CancellationToken)
Dispatches an incoming request to a method that matches the request's operation name. The operation does not accept any arguments and does not return anything.
public static ValueTask<OutgoingResponse> DispatchOperationAsync(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask> decodeArgs, Func<IFeatureCollection, CancellationToken, ValueTask> method, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask>A function that decodes the empty arguments from the request payload.
methodFunc<IFeatureCollection, CancellationToken, ValueTask>The user-provided implementation of the operation.
inExceptionSpecificationFunc<IceException, bool>A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
DispatchOperationAsync<TArgs>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask>, Func<IceException, bool>?, CancellationToken)
Dispatches an incoming request to a method that matches the request's operation name. The operation does not return anything.
public static ValueTask<OutgoingResponse> DispatchOperationAsync<TArgs>(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>> decodeArgs, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask> method, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask<TArgs>>A function that decodes the arguments from the request payload.
methodFunc<TArgs, IFeatureCollection, CancellationToken, ValueTask>The user-provided implementation of the operation.
inExceptionSpecificationFunc<IceException, bool>A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
Type Parameters
TArgsThe type of the operation arguments.
DispatchOperationAsync<TReturnValue>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask>, Func<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>, Func<TReturnValue, IceEncodeOptions?, PipeReader>, Func<IceException, bool>?, CancellationToken)
Dispatches an incoming request to a method that matches the request's operation name. The operation does not accept any arguments.
public static ValueTask<OutgoingResponse> DispatchOperationAsync<TReturnValue>(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask> decodeArgs, Func<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>> method, Func<TReturnValue, IceEncodeOptions?, PipeReader> encodeReturnValue, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask>A function that decodes the empty arguments from the request payload.
methodFunc<IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>The user-provided implementation of the operation.
encodeReturnValueFunc<TReturnValue, IceEncodeOptions, PipeReader>A function that encodes the return value into a PipeReader.
inExceptionSpecificationFunc<IceException, bool>A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
Type Parameters
TReturnValueThe type of the operation return value.
DispatchOperationAsync<TArgs, TReturnValue>(IncomingRequest, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>>, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>, Func<TReturnValue, IceEncodeOptions?, PipeReader>, Func<IceException, bool>?, CancellationToken)
Dispatches an incoming request to a method that matches the request's operation name.
public static ValueTask<OutgoingResponse> DispatchOperationAsync<TArgs, TReturnValue>(this IncomingRequest request, Func<IncomingRequest, CancellationToken, ValueTask<TArgs>> decodeArgs, Func<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>> method, Func<TReturnValue, IceEncodeOptions?, PipeReader> encodeReturnValue, Func<IceException, bool>? inExceptionSpecification = null, CancellationToken cancellationToken = default)
Parameters
requestIncomingRequestThe incoming request.
decodeArgsFunc<IncomingRequest, CancellationToken, ValueTask<TArgs>>A function that decodes the arguments from the request payload.
methodFunc<TArgs, IFeatureCollection, CancellationToken, ValueTask<TReturnValue>>The user-provided implementation of the operation.
encodeReturnValueFunc<TReturnValue, IceEncodeOptions, PipeReader>A function that encodes the return value into a PipeReader.
inExceptionSpecificationFunc<IceException, bool>A function that returns true when the provided Ice exception conforms to the exception specification; otherwise, false.
cancellationTokenCancellationTokenA cancellation token that receives the cancellation requests.
Returns
- ValueTask<OutgoingResponse>
A value task that holds the outgoing response.
Type Parameters
TArgsThe type of the operation arguments.
TReturnValueThe type of the operation return value.