pdk-classy 1.9.1-alpha.2

PDK Classy
Documentation
// Copyright (c) 2026, Salesforce, Inc.,
// All rights reserved.
// For full license text, see the LICENSE.txt file

//! The PDK High Level Framework.
//!
//! The PDK High Level Framework is the foundation for writting single-threaded
//! non-blocking filters as main building block for custom policies.
//!
//! `pdk::hl` relies on a reduced portion of the Rust async ecosystem, due to the limitations
//! of the underlying WebAssembly platform and their single-threaded nature.
//! Despite being single-threaded, `pdk::hl` supports concurrent execution of
//! multiple incoming HTTP flows (Request/Response pairs).

mod body;
mod body_stream;
mod bootstrap;
pub mod context;
mod dynamic_exchange;
mod early_response;
mod entity;
mod entrypoint;
mod flow;
mod headers;
#[cfg(feature = "enable_stop_iteration")]
mod headers_body;
mod request;
mod request_data;
mod response;

pub use super::bootstrap::{LaunchError, Launcher};
pub use super::Configuration;
pub use body_stream::{BodyStream, BodyStreamAsyncReader};
pub use bootstrap::{on_request, on_response};
pub use early_response::Response;
#[cfg(feature = "enable_stop_iteration")]
pub use entity::IntoHeadersBodyState;
pub use entity::{
    BodyError, BodyHandler, BodyState, BodyStreamState, Chunk, EntityState, HeadersBodyHandler,
    HeadersBodyState, HeadersHandler, HeadersState, IntoBodyState, IntoBodyStreamState,
};
pub use flow::{Flow, IntoFlow};
#[cfg(feature = "enable_stop_iteration")]
pub use request::RequestHeadersBodyState;
pub use request::{RequestBodyState, RequestBodyStreamState, RequestHeadersState, RequestState};
pub use request_data::RequestData;
#[cfg(feature = "enable_stop_iteration")]
pub use response::ResponseHeadersBodyState;
pub use response::{
    ResponseBodyState, ResponseBodyStreamState, ResponseHeadersState, ResponseState,
};

pub use super::grpc;
pub use super::timer;

pub use crate::client::{
    HttpClient, HttpClientError, HttpClientResponse, InvalidUri, Service, Uri,
};
pub use crate::stream::{PropertyAccessor, StreamProperties};