pub struct CopilotAuthenticator { /* private fields */ }Expand description
GitHub Copilot OAuth authenticator
Implementations§
Source§impl CopilotAuthenticator
impl CopilotAuthenticator
Sourcepub fn new(config: &GitHubCopilotConfig) -> Self
pub fn new(config: &GitHubCopilotConfig) -> Self
Create a new authenticator from configuration
Sourcepub async fn get_access_token(&self) -> Result<String, GitHubCopilotError>
pub async fn get_access_token(&self) -> Result<String, GitHubCopilotError>
Get the access token, performing device flow authentication if needed
Sourcepub async fn get_api_key(&self) -> Result<String, GitHubCopilotError>
pub async fn get_api_key(&self) -> Result<String, GitHubCopilotError>
Get the API key, refreshing if needed
Sourcepub fn get_api_base(&self) -> Option<String>
pub fn get_api_base(&self) -> Option<String>
Get the API base URL from cached API key info
Trait Implementations§
Source§impl Clone for CopilotAuthenticator
impl Clone for CopilotAuthenticator
Auto Trait Implementations§
impl !RefUnwindSafe for CopilotAuthenticator
impl !UnwindSafe for CopilotAuthenticator
impl Freeze for CopilotAuthenticator
impl Send for CopilotAuthenticator
impl Sync for CopilotAuthenticator
impl Unpin for CopilotAuthenticator
impl UnsafeUnpin for CopilotAuthenticator
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> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreCreates a shared type from an unshared type.