Skip to main content

camel_api/
lib.rs

1pub mod aggregator;
2pub mod body;
3pub mod body_converter;
4pub mod circuit_breaker;
5pub mod declarative;
6pub mod dynamic_router;
7pub mod error;
8pub mod error_handler;
9pub mod exchange;
10pub mod filter;
11pub mod health;
12pub mod lifecycle;
13pub mod load_balancer;
14pub mod message;
15pub mod metrics;
16pub mod multicast;
17pub mod processor;
18pub mod producer;
19pub mod route_controller;
20pub mod runtime;
21pub mod splitter;
22pub mod supervision;
23pub mod throttler;
24pub mod value;
25
26// Re-export core types at crate root for convenience.
27pub use aggregator::{AggregationFn, AggregatorConfig, CompletionCondition};
28pub use body::{Body, BoxAsyncRead, StreamBody, StreamMetadata};
29pub use body_converter::{BodyType, convert as convert_body};
30pub use circuit_breaker::CircuitBreakerConfig;
31pub use declarative::{LanguageExpressionDef, ValueSourceDef};
32pub use dynamic_router::{DynamicRouterConfig, RouterExpression};
33pub use error::CamelError;
34pub use error_handler::{
35    ErrorHandlerConfig, ExceptionPolicy, ExceptionPolicyBuilder, HEADER_REDELIVERED,
36    HEADER_REDELIVERY_COUNTER, HEADER_REDELIVERY_MAX_COUNTER, RedeliveryPolicy,
37};
38// Backwards compatibility re-export (deprecated)
39#[allow(deprecated)]
40pub use error_handler::ExponentialBackoff;
41pub use exchange::{Exchange, ExchangePattern};
42pub use filter::FilterPredicate;
43pub use health::{HealthReport, ServiceHealth};
44pub use lifecycle::{HealthStatus, Lifecycle, ServiceStatus};
45pub use load_balancer::{LoadBalanceStrategy, LoadBalancerConfig};
46pub use message::Message;
47pub use metrics::{MetricsCollector, NoOpMetrics};
48pub use multicast::{MulticastAggregationFn, MulticastConfig, MulticastStrategy};
49pub use processor::{BoxProcessor, BoxProcessorExt, IdentityProcessor, Processor, ProcessorFn};
50pub use producer::ProducerContext;
51pub use route_controller::{RouteAction, RouteController, RouteStatus};
52pub use runtime::{
53    CANONICAL_CONTRACT_DECLARATIVE_ONLY_STEPS, CANONICAL_CONTRACT_EXCLUDED_DECLARATIVE_STEPS,
54    CANONICAL_CONTRACT_NAME, CANONICAL_CONTRACT_RUST_ONLY_STEPS,
55    CANONICAL_CONTRACT_SUPPORTED_STEPS, CANONICAL_CONTRACT_VERSION, CanonicalRouteSpec,
56    RuntimeCommand, RuntimeCommandBus, RuntimeCommandResult, RuntimeEvent, RuntimeHandle,
57    RuntimeQuery, RuntimeQueryBus, RuntimeQueryResult, canonical_contract_rejection_reason,
58    canonical_contract_supports_step,
59};
60pub use splitter::{
61    AggregationStrategy, SplitExpression, SplitterConfig, split_body, split_body_json_array,
62    split_body_lines,
63};
64pub use supervision::SupervisionConfig;
65pub use throttler::{ThrottleStrategy, ThrottlerConfig};
66pub use value::{Headers, Value};