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