Class ALambdaFunction<TRequest, TResponse>
The ALambdaFunction<TRequest, TResponse> builds on the ALambdaFunction by adding request and response types which are automatically deserialized and serialized, respectively.
Implements
Inherited Members
Namespace: LambdaSharp
Assembly: LambdaSharp.dll
Syntax
public abstract class ALambdaFunction<TRequest, TResponse> : ALambdaFunction, ILambdaSharpLogger
Type Parameters
Name | Description |
---|---|
TRequest | The request payload type. |
TResponse | The response payload type. |
Constructors
ALambdaFunction(ILambdaJsonSerializer)
Initializes a new ALambdaFunction<TRequest, TResponse> instance using the default implementation of ILambdaFunctionDependencyProvider.
Declaration
protected ALambdaFunction(ILambdaJsonSerializer serializer)
Parameters
Type | Name | Description |
---|---|---|
ILambdaJsonSerializer | serializer | Custom implementation of ILambdaJsonSerializer. |
ALambdaFunction(ILambdaJsonSerializer, ILambdaFunctionDependencyProvider)
Initializes a new ALambdaFunction<TRequest, TResponse> instance using a custom implementation of ILambdaFunctionDependencyProvider.
Declaration
protected ALambdaFunction(ILambdaJsonSerializer serializer, ILambdaFunctionDependencyProvider provider)
Parameters
Type | Name | Description |
---|---|---|
ILambdaJsonSerializer | serializer | Custom implementation of ILambdaJsonSerializer. |
ILambdaFunctionDependencyProvider | provider | Custom implementation of ILambdaFunctionDependencyProvider. |
Properties
LambdaSerializer
An instance of ILambdaJsonSerializer used for serializing/deserializing JSON data.
Declaration
protected ILambdaJsonSerializer LambdaSerializer { get; }
Property Value
Type | Description |
---|---|
ILambdaJsonSerializer | The ILambdaJsonSerializer instance. |
Provider
The ILambdaFunctionDependencyProvider instance used by the Lambda function to satisfy its required dependencies.
Declaration
protected ILambdaFunctionDependencyProvider Provider { get; }
Property Value
Type | Description |
---|---|
ILambdaFunctionDependencyProvider | The ILambdaFunctionDependencyProvider instance. |
Methods
ProcessMessageAsync(TRequest)
The ProcessMessageAsync(TRequest) method is invoked for every deserialized request. It is responsible for processing the request and returning a response.
Declaration
public abstract Task<TResponse> ProcessMessageAsync(TRequest message)
Parameters
Type | Name | Description |
---|---|---|
TRequest | message | The deserialized request. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<TResponse> | The task object representing the asynchronous operation. |
ProcessMessageStreamAsync(Stream)
The ProcessMessageStreamAsync(Stream) deserializes the request stream into
a TRequest
instance and invokes the ProcessMessageAsync(TRequest) method.
Declaration
public sealed override async Task<Stream> ProcessMessageStreamAsync(Stream stream)
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | stream | The stream with the request payload. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.IO.Stream> | The task object representing the asynchronous operation. |
Overrides
Remarks
This method is sealed
and cannot be overridden.