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