Commanded v1.0.0 Commanded.Middleware.Pipeline View Source

Pipeline is a struct used as an argument in the callback functions of modules implementing the Commanded.Middleware behaviour.

This struct must be returned by each function to be used in the next middleware based on the configured middleware chain.

Pipeline fields

  • application - the Commanded application.

  • assigns - shared user data as a map.

  • causation_id - an optional UUID used to identify the cause of the command being dispatched.

  • correlation_id - an optional UUID used to correlate related commands/events together.

  • command - command struct being dispatched.

  • command_uuid - UUID assigned to the command being dispatched.

  • consistency - requested dispatch consistency, either: :eventual (default) or :strong.

  • halted - flag indicating whether the pipeline was halted.

  • identity - an atom specifying a field in the command containing the aggregate's identity or a one-arity function that returns an identity from the command being dispatched.

  • identity_prefix - an optional prefix to the aggregate's identity. It may be a string (e.g. "prefix-") or a zero arity function (e.g. &MyRouter.identity_prefix/0).

  • metadata - the metadata map to be persisted along with the events.

  • response - sets the response to send back to the caller.

Link to this section Summary

Functions

Puts the key with value equal to value into assigns map.

Puts the key with value equal to value into metadata map.

Executes the middleware chain.

Halts the pipeline by preventing further middleware downstream from being invoked.

Has the pipeline been halted?

Sets the response to be returned to the dispatch caller, unless already set.

Extract the response from the pipeline

Link to this section Functions

Link to this function

assign(pipeline, key, value)

View Source

Puts the key with value equal to value into assigns map.

Link to this function

assign_metadata(pipeline, key, value)

View Source

Puts the key with value equal to value into metadata map.

Note: Use of atom keys in metadata is deprecated in favour of binary strings.

Link to this function

chain(pipeline, stage, middleware)

View Source

Executes the middleware chain.

Halts the pipeline by preventing further middleware downstream from being invoked.

Prevents dispatch of the command if halt occurs in a before_dispatch callback.

Has the pipeline been halted?

Link to this function

respond(pipeline, response)

View Source

Sets the response to be returned to the dispatch caller, unless already set.

Extract the response from the pipeline