Namespace FunctionMonkey.Abstractions
Classes
HttpResponse
TokenValidationResult
Interfaces
IClaimsPrincipalAuthorization
Can be implemented to provide authorization based on a claims principal, a verb and a url
ICommandClaimsBinder
Implementations of this interface lift claims from the a authenticated user and map them onto the properties of a command
ICommandingConfigurator
Can be implemented by the class that implements IFunctionAppConfiguration to customize how the AzureFromTheTrenches.Commanding system is initialised.
ICommandTransformer
IContextProvider
This can be injected into command handlers to obtain additional context information from the trigger - for example how many times a message has been dequeued.
Care should be taken not to overuse this as it effectively binds the handler to an explicit host / message type implementation and ideally these concerns are kept separate.
IContextSetter
Used by the compiled functions to set the context information available through IContextProvider
IFunctionAppConfiguration
Must be implemented by a class in the Function app to configure the Azure Functions and the runtime
IFunctionAppHost
IFunctionCompilerMetadata
IMediatorDecorator
Buffers Function Monkey from the underlying mediator implementation
IMediatorResultTypeExtractor
IMediatorTypeSafetyEnforcer
Used by Function Monkey to determine if commands implement the appropriate interfaces for the in use mediator. This is only called by the compiler so there is no big need to have it be massively performant - refelction is fine!
IOutputBindingConverter
If an output converter is registered it will be called before the result of executing a command is passed into an output collector allowing the result to be shaped into a different result.
This can be useful to keep protocol concerns out of the business domain or to help migrate an existing business domain into Azure Functions
ISerializer
Implementations of this interface are able to deserialize commands from JSON strings while ensuring that any properties marked with the SecurityPropertyAttribute are not included in the deserialization process.
ITimerCommandFactory<TCommand>
ITokenValidator
This can be implemented to provide Authorization header validation / verification and set claims for HTTP triggers. See this gist for an example: https://gist.github.com/JamesRandall/e83f72f98bde2f6ff973e6ecb81199c8