fraiseql-server 2.15.0

HTTP server for FraiseQL v2 GraphQL engine
//! HTTP routes.

// After-mutation function-trigger dispatch (#460). The planner is always
// compiled (and unit-tested); the I/O-capable spawn path is gated behind
// `functions-runtime`, so the items are dead in a default build.
#[cfg_attr(not(feature = "functions-runtime"), allow(dead_code))]
pub(crate) mod after_mutation;
pub mod api;
pub mod async_operations;
#[cfg(feature = "auth")]
pub mod auth;
// `before:mutation` chain dispatch (#1327). Public, and always compiled, for two
// reasons: the gate is the engine's enforcement point, so an embedder installing
// `FunctionChainGate` — or reading it as the reference implementation of
// `BeforeMutationGate` before writing its own rule engine — needs to name it; and a
// `pub` item is never dead code, so the module needs no
// `cfg_attr(not(functions-runtime), allow(dead_code))`. That attribute would also
// have told `check-suite-coverage.py` the module is feature-gated, which it is not:
// its tests run under the plain `--lib` invocations, and claiming otherwise would
// move them to a filter line on a leg that does not need to carry them.
pub mod before_mutation;
pub mod graphql;
pub mod health;
pub mod query_function;
// Shared Idempotency-Key store: used by the REST write surface and by the
// GraphQL mutation path (saga peers deduplicate at-least-once dispatch on the
// key their coordinator sends, #747), so it lives above both transports.
pub mod idempotency;
pub mod introspection;
pub mod jwks_admin;
pub mod metrics;
pub mod playground;
pub mod studio;
pub mod subscriptions;
pub mod well_known;

#[cfg(feature = "grpc")]
pub mod grpc;
#[cfg(feature = "rest")]
pub mod rest;

#[cfg(feature = "auth")]
pub use auth::{
    AuthMeState, AuthPkceState, RevocationRouteState, auth_callback, auth_me, auth_start,
    revoke_all_tokens, revoke_token,
};
pub use graphql::{graphql_get_handler, graphql_handler};
#[cfg(feature = "federation")]
pub use health::federation_health_handler;
pub use health::{health_handler, liveness_handler, readiness_handler};
pub use introspection::introspection_handler;
pub use metrics::{metrics_handler, metrics_json_handler};
pub use playground::{PlaygroundState, playground_handler};
pub use subscriptions::{SubscriptionState, subscription_handler, subscription_metrics};
pub use well_known::security_txt_handler;

#[cfg(test)]
mod tests;