pub struct ProtocolManifest {Show 30 fields
pub schema: Option<String>,
pub id: String,
pub protocol_version: String,
pub endpoint: EndpointDefinition,
pub availability: AvailabilityConfig,
pub capabilities: Capabilities,
pub name: Option<String>,
pub provider_id: Option<String>,
pub version: Option<String>,
pub status: String,
pub category: String,
pub official_url: String,
pub support_contact: String,
pub auth: AuthConfig,
pub payload_format: Option<String>,
pub parameter_mappings: HashMap<String, String>,
pub response_format: Option<String>,
pub response_paths: Option<HashMap<String, String>>,
pub streaming: Option<StreamingConfig>,
pub features: Option<FeaturesConfig>,
pub endpoints: Option<HashMap<String, EndpointConfig>>,
pub services: Option<HashMap<String, ServiceConfig>>,
pub api_families: Option<Vec<String>>,
pub default_api_family: Option<String>,
pub termination: Option<TerminationConfig>,
pub tooling: Option<ToolingConfig>,
pub retry_policy: Option<RetryPolicy>,
pub error_classification: Option<ErrorClassification>,
pub rate_limit_headers: Option<RateLimitHeaders>,
pub experimental_features: Option<Vec<String>>,
}Expand description
Protocol manifest structure (parsed from YAML)
Required fields per schema: id, protocol_version, endpoint, availability, capabilities
Fields§
§schema: Option<String>§id: String§protocol_version: String§endpoint: EndpointDefinition§availability: AvailabilityConfig§capabilities: Capabilities§name: Option<String>§provider_id: Option<String>§version: Option<String>§status: String§category: String§official_url: String§support_contact: String§auth: AuthConfig§payload_format: Option<String>§parameter_mappings: HashMap<String, String>§response_format: Option<String>§response_paths: Option<HashMap<String, String>>§streaming: Option<StreamingConfig>§features: Option<FeaturesConfig>§endpoints: Option<HashMap<String, EndpointConfig>>§services: Option<HashMap<String, ServiceConfig>>§api_families: Option<Vec<String>>§default_api_family: Option<String>§termination: Option<TerminationConfig>§tooling: Option<ToolingConfig>§retry_policy: Option<RetryPolicy>§error_classification: Option<ErrorClassification>§rate_limit_headers: Option<RateLimitHeaders>§experimental_features: Option<Vec<String>>Implementations§
Source§impl ProtocolManifest
impl ProtocolManifest
Sourcepub fn supports_capability(&self, capability: &str) -> bool
pub fn supports_capability(&self, capability: &str) -> bool
Check if protocol supports a specific capability
Sourcepub fn get_base_url(&self) -> &str
pub fn get_base_url(&self) -> &str
Get base URL from endpoint definition
Sourcepub fn compile_request(
&self,
request: &UnifiedRequest,
) -> Result<Value, ProtocolError>
pub fn compile_request( &self, request: &UnifiedRequest, ) -> Result<Value, ProtocolError>
Compile unified request to provider-specific format
Trait Implementations§
Source§impl Clone for ProtocolManifest
impl Clone for ProtocolManifest
Source§fn clone(&self) -> ProtocolManifest
fn clone(&self) -> ProtocolManifest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProtocolManifest
impl Debug for ProtocolManifest
Source§impl<'de> Deserialize<'de> for ProtocolManifest
impl<'de> Deserialize<'de> for ProtocolManifest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ProtocolManifest
impl RefUnwindSafe for ProtocolManifest
impl Send for ProtocolManifest
impl Sync for ProtocolManifest
impl Unpin for ProtocolManifest
impl UnwindSafe for ProtocolManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more