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