Module middleware

Module middleware 

Source
Expand description

Message transformation middleware

This module provides a middleware pattern for transforming messages through a pipeline of transformations (validation, signing, encryption, etc.).

§Example

use celers_protocol::middleware::{MessagePipeline, ValidationMiddleware};
use celers_protocol::{Message, TaskArgs};
use uuid::Uuid;

let task_id = Uuid::new_v4();
let body = serde_json::to_vec(&TaskArgs::new()).unwrap();
let msg = Message::new("tasks.add".to_string(), task_id, body);

let mut pipeline = MessagePipeline::new();
pipeline.add(Box::new(ValidationMiddleware));

let result = pipeline.process(msg);
assert!(result.is_ok());

Structs§

ContentTypeMiddleware
Content type validation middleware
MessagePipeline
Message processing pipeline
PriorityMiddleware
Priority enforcement middleware
RetryLimitMiddleware
Retry count middleware
SizeLimitMiddleware
Size limit middleware
TaskNameFilterMiddleware
Task name filter middleware
ValidationMiddleware
Validation middleware

Enums§

MiddlewareError
Middleware error

Traits§

Middleware
Middleware trait for message processing