drasi_bootstrap_http/lib.rs
1#![allow(unexpected_cfgs)]
2// Copyright 2025 The Drasi Authors.
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16//! HTTP bootstrap plugin for Drasi
17//!
18//! This plugin fetches initial state from REST APIs to populate graph queries.
19//! It supports multiple endpoints, various authentication methods, pagination
20//! strategies, and Handlebars-based response-to-element mapping.
21
22pub mod auth;
23pub mod config;
24pub mod content_parser;
25pub mod descriptor;
26pub mod pagination;
27pub mod provider;
28pub mod response;
29pub mod template_engine;
30
31pub use config::HttpBootstrapConfig;
32pub use provider::HttpBootstrapProvider;
33
34/// Dynamic plugin entry point.
35#[cfg(feature = "dynamic-plugin")]
36drasi_plugin_sdk::export_plugin!(
37 plugin_id = "http-bootstrap",
38 core_version = env!("CARGO_PKG_VERSION"),
39 lib_version = env!("CARGO_PKG_VERSION"),
40 plugin_version = env!("CARGO_PKG_VERSION"),
41 source_descriptors = [],
42 reaction_descriptors = [],
43 bootstrap_descriptors = [descriptor::HttpBootstrapDescriptor],
44);