pub struct Connection { /* private fields */ }
Expand description
Connection pool Minimal session will have at least 2 requests - login and query
Implementations§
Source§impl Connection
impl Connection
pub fn new() -> Result<Self, ConnectionError>
Sourcepub fn new_with_middware(client: ClientWithMiddleware) -> Self
pub fn new_with_middware(client: ClientWithMiddleware) -> Self
Allow a user to provide their own middleware
Users can provide their own middleware to the connection like this:
use snowflake_api::connection::Connection;
let mut client = Connection::default_client_builder();
// modify the client builder here
let connection = Connection::new_with_middware(client.unwrap().build());
This is not intended to be called directly, but is used by SnowflakeApiBuilder::with_client
pub fn default_client_builder() -> Result<ClientBuilder, ConnectionError>
Sourcepub async fn request<R: DeserializeOwned>(
&self,
query_type: QueryType,
account_identifier: &str,
extra_get_params: &[(&str, &str)],
auth: Option<&str>,
body: impl Serialize,
) -> Result<R, ConnectionError>
pub async fn request<R: DeserializeOwned>( &self, query_type: QueryType, account_identifier: &str, extra_get_params: &[(&str, &str)], auth: Option<&str>, body: impl Serialize, ) -> Result<R, ConnectionError>
Perform request of given query type with extra body or parameters
pub async fn get_chunk( &self, url: &str, headers: &HashMap<String, String>, ) -> Result<Bytes, ConnectionError>
Auto Trait Implementations§
impl Freeze for Connection
impl !RefUnwindSafe for Connection
impl Send for Connection
impl Sync for Connection
impl Unpin for Connection
impl !UnwindSafe for Connection
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more