Skip to main content

camel_dsl/
lib.rs

1//! YAML/JSON DSL for defining Camel routes — declarative route parsing and compilation to canonical specs.
2//!
3//! Main types: `DeclarativeRoute`, `DeclarativeStep`, `RouteDslRoute`, `RouteDslStep`.
4//! Main modules: `canonical`, `compile`, `contract`, `discovery`, `json`, `model`, `yaml`, `route_ast`.
5
6pub mod canonical;
7pub mod compile;
8pub mod contract;
9pub mod discovery;
10pub mod env_interpolation;
11mod input_format;
12pub mod json;
13pub mod model;
14pub mod openapi;
15#[cfg(test)]
16mod parity_tests;
17pub mod rest;
18pub mod route_ast;
19pub mod template;
20mod util;
21pub mod yaml;
22
23pub use canonical::{parse_canonical_json, parse_canonical_route};
24pub use compile::{
25    compile_declarative_route, compile_declarative_route_to_canonical,
26    compile_declarative_route_with_stream_cache_threshold, compile_declarative_step,
27};
28pub use contract::{DeclarativeStepKind, is_rust_only_kind, mandatory_declarative_step_kinds};
29pub use discovery::{
30    DiscoveryError, discover_routes, discover_routes_with_threshold,
31    discover_routes_with_threshold_and_security,
32};
33pub use json::{
34    parse_json, parse_json_to_canonical, parse_json_to_declarative, parse_json_with_threshold,
35    parse_json_with_threshold_and_security,
36};
37pub use model::{
38    AggregateStepDef, AggregateStrategyDef, BodyTypeDef, ChoiceStepDef, DeclarativeCircuitBreaker,
39    DeclarativeConcurrency, DeclarativeErrorHandler, DeclarativeRedeliveryPolicy, DeclarativeRoute,
40    DeclarativeSecurityPolicy, DeclarativeStep, EnrichStepDef, FilterStepDef,
41    LanguageExpressionDef, LogLevelDef, LogStepDef, MulticastAggregationDef, MulticastStepDef,
42    ScriptStepDef, SecurityCompileContext, SetBodyStepDef, SetHeaderStepDef, SetPropertyStepDef,
43    SplitAggregationDef, SplitExpressionDef, SplitStepDef, StreamCacheStepDef, ToStepDef,
44    ValueSourceDef, WhenStepDef, WireTapStepDef,
45};
46pub use openapi::generate_openapi;
47pub use yaml::{
48    RouteDslRoute, RouteDslRoutes, RouteDslStep, load_from_file, parse_yaml,
49    parse_yaml_to_canonical, parse_yaml_to_declarative, parse_yaml_with_threshold,
50    parse_yaml_with_threshold_and_security,
51};
52
53pub use template::json::{parse_json_templated_routes, parse_json_templates};
54pub use template::materializer::{
55    CompiledMaterializationResult, materialize_and_compile, materialize_template, resolve_params,
56    substitute_strings_in_json,
57};
58pub use template::yaml::{parse_yaml_templated_routes, parse_yaml_templates};