pub struct RestConnector { /* private fields */ }Expand description
REST API connector with authentication, caching, and rate limiting
Implementations§
Source§impl RestConnector
impl RestConnector
Sourcepub fn with_auth(self, auth: AuthConfig) -> Self
pub fn with_auth(self, auth: AuthConfig) -> Self
Configure authentication
Sourcepub fn with_cache_ttl(self, ttl: Duration) -> Self
pub fn with_cache_ttl(self, ttl: Duration) -> Self
Configure cache TTL
Sourcepub fn with_rate_limit(self, config: RateLimitConfig) -> Self
pub fn with_rate_limit(self, config: RateLimitConfig) -> Self
Configure rate limiting
Sourcepub fn add_endpoint_mapping(&mut self, name: String, mapping: EndpointMapping)
pub fn add_endpoint_mapping(&mut self, name: String, mapping: EndpointMapping)
Add endpoint mapping
Trait Implementations§
Source§impl Connector for RestConnector
impl Connector for RestConnector
Source§fn connect<'life0, 'async_trait>(
&'life0 mut self,
config: ConnectorInitConfig,
) -> Pin<Box<dyn Future<Output = NirvResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect<'life0, 'async_trait>(
&'life0 mut self,
config: ConnectorInitConfig,
) -> Pin<Box<dyn Future<Output = NirvResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Establish connection to the backend data source
Source§fn execute_query<'life0, 'async_trait>(
&'life0 self,
query: ConnectorQuery,
) -> Pin<Box<dyn Future<Output = NirvResult<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_query<'life0, 'async_trait>(
&'life0 self,
query: ConnectorQuery,
) -> Pin<Box<dyn Future<Output = NirvResult<QueryResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute a query against the connected data source
Source§fn get_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
object_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = NirvResult<Schema>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
object_name: &'life1 str,
) -> Pin<Box<dyn Future<Output = NirvResult<Schema>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve schema information for a specific data object
Source§fn disconnect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = NirvResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = NirvResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close connection and cleanup resources
Source§fn get_connector_type(&self) -> ConnectorType
fn get_connector_type(&self) -> ConnectorType
Get the type of this connector
Source§fn supports_transactions(&self) -> bool
fn supports_transactions(&self) -> bool
Check if this connector supports transactions
Source§fn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Check if the connector is currently connected
Source§fn get_capabilities(&self) -> ConnectorCapabilities
fn get_capabilities(&self) -> ConnectorCapabilities
Get connector-specific capabilities
Auto Trait Implementations§
impl Freeze for RestConnector
impl !RefUnwindSafe for RestConnector
impl Send for RestConnector
impl Sync for RestConnector
impl Unpin for RestConnector
impl !UnwindSafe for RestConnector
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