Skip to main content

camel_api/
lib.rs

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