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