camel_component_api/
lib.rs1pub mod bundle;
11pub mod component;
12pub mod component_context;
13pub mod consumer;
14pub mod dispatch;
15pub mod embedded_assets;
17pub mod endpoint;
18pub mod health_registry;
19pub mod runtime_observability;
20
21pub mod cron_service;
22pub mod network_retry;
23pub mod producer;
24pub mod registrar;
25pub mod template_reload;
26#[cfg(any(test, feature = "test-support"))]
27pub mod test_support;
28pub mod tls_source;
29
30pub use bundle::ComponentBundle;
31pub use component::Component;
32pub use component_context::{ComponentContext, NoOpComponentContext};
33pub use consumer::{
34 ConcurrencyModel, Consumer, ConsumerContext, ConsumerStartupMode, ExchangeEnvelope,
35 InFlightClaim, SecurityContext, StartupReceiver, StartupSignal,
36};
37pub use dispatch::InlineRouteDispatcher;
38pub use endpoint::{Endpoint, PollingConsumer};
39pub use health_registry::{
40 HealthCheckRegistry, NoOpHealthCheckRegistry, noop_health_check_registry,
41};
42pub use runtime_observability::RuntimeObservability;
43
44pub use cron_service::{CronCallback, CronFire, CronSchedule, CronService};
45pub use network_retry::{
46 NetworkRetryPolicy, is_retryable_camel_error, retry_async, retry_async_cancelable,
47};
48pub use producer::ProducerContext;
49pub use registrar::ComponentRegistrar;
50#[cfg(any(test, feature = "test-support"))]
51pub use test_support::{NoopRuntimeObservability, PanicRuntimeObservability};
52
53pub use camel_api::{
55 AsyncHealthCheck, Body, BodyType, BoxProcessor, CamelError, CheckResult, Exchange,
56 HealthStatus, Message, MetricsCollector, RouteAction, RouteStatus, RuntimeCommand,
57 RuntimeCommandBus, RuntimeCommandResult, RuntimeHandle, RuntimeQuery, RuntimeQueryBus,
58 RuntimeQueryResult, StreamBody, StreamMetadata, Value,
59};
60
61pub use camel_endpoint::{UriComponents, UriConfig, parse_uri, raw_query_pairs};
63
64pub use camel_api::component_metadata::{
67 ComponentCapabilities, ComponentMetadata, OptionKind, UriOption,
68};
69pub mod uri {
72 pub fn parse_bool_param(s: &str) -> Result<bool, String> {
75 match s.to_lowercase().as_str() {
76 "true" | "1" | "yes" => Ok(true),
77 "false" | "0" | "no" => Ok(false),
78 _ => Err(format!("invalid boolean value: '{}'", s)),
79 }
80 }
81}