pub struct Client {
inner: Client,
url: Arc<dyn Fn() -> Url + Send + Sync + 'static>,
auth: Option<Auth>,
timeout: Duration,
}Expand description
An API client for a Confluent-compatible schema registry.
Fields§
§inner: Client§url: Arc<dyn Fn() -> Url + Send + Sync + 'static>§auth: Option<Auth>§timeout: DurationImplementations§
Source§impl Client
impl Client
pub(crate) fn new( inner: Client, url: Arc<dyn Fn() -> Url + Send + Sync + 'static>, auth: Option<Auth>, timeout: Duration, ) -> Result<Self, Error>
fn make_request<P>(&self, method: Method, path: P) -> RequestBuilder
pub fn timeout(&self) -> Duration
Sourcepub async fn get_schema_by_id(&self, id: i32) -> Result<Schema, GetByIdError>
pub async fn get_schema_by_id(&self, id: i32) -> Result<Schema, GetByIdError>
Gets the schema with the associated ID.
Sourcepub async fn get_schema_by_subject(
&self,
subject: &str,
) -> Result<Schema, GetBySubjectError>
pub async fn get_schema_by_subject( &self, subject: &str, ) -> Result<Schema, GetBySubjectError>
Gets the latest schema for the specified subject.
Sourcepub async fn get_subject_latest(
&self,
subject: &str,
) -> Result<Subject, GetBySubjectError>
pub async fn get_subject_latest( &self, subject: &str, ) -> Result<Subject, GetBySubjectError>
Gets the latest version of the specified subject.
Sourcepub async fn get_subject_with_references(
&self,
subject: &str,
) -> Result<(Subject, Vec<SubjectVersion>), GetBySubjectError>
pub async fn get_subject_with_references( &self, subject: &str, ) -> Result<(Subject, Vec<SubjectVersion>), GetBySubjectError>
Gets the latest version of the specified subject along with its direct references. Returns the subject and a list of subject names that this subject directly references.
Sourcepub async fn get_subject_config(
&self,
subject: &str,
) -> Result<SubjectConfig, GetSubjectConfigError>
pub async fn get_subject_config( &self, subject: &str, ) -> Result<SubjectConfig, GetSubjectConfigError>
Gets the config set for the specified subject
Sourcepub async fn get_subject_and_references(
&self,
subject: &str,
) -> Result<(Subject, Vec<Subject>), GetBySubjectError>
pub async fn get_subject_and_references( &self, subject: &str, ) -> Result<(Subject, Vec<Subject>), GetBySubjectError>
Gets the latest version of the specified subject as well as all other subjects referenced by that subject (recursively).
The dependencies are returned in dependency order, with dependencies first.
Sourceasync fn get_subject_and_references_by_version(
&self,
subject: &str,
version: String,
) -> Result<(Subject, Vec<Subject>), GetBySubjectError>
async fn get_subject_and_references_by_version( &self, subject: &str, version: String, ) -> Result<(Subject, Vec<Subject>), GetBySubjectError>
Gets a subject and all other subjects referenced by that subject (recursively)
The dependencies are returned in dependency order, with dependencies first.
Sourcepub async fn publish_schema(
&self,
subject: &str,
schema: &str,
schema_type: SchemaType,
references: &[SchemaReference],
) -> Result<i32, PublishError>
pub async fn publish_schema( &self, subject: &str, schema: &str, schema_type: SchemaType, references: &[SchemaReference], ) -> Result<i32, PublishError>
Publishes a new schema for the specified subject. The ID of the new schema is returned.
Note that if a schema that is identical to an existing schema for the same subject is published, the ID of the existing schema will be returned.
Sourcepub async fn set_subject_compatibility_level(
&self,
subject: &str,
compatibility_level: CompatibilityLevel,
) -> Result<(), SetCompatibilityLevelError>
pub async fn set_subject_compatibility_level( &self, subject: &str, compatibility_level: CompatibilityLevel, ) -> Result<(), SetCompatibilityLevelError>
Sets the compatibility level for the specified subject.
Sourcepub async fn list_subjects(&self) -> Result<Vec<String>, ListError>
pub async fn list_subjects(&self) -> Result<Vec<String>, ListError>
Lists the names of all subjects that the schema registry is aware of.
Sourcepub async fn delete_subject(&self, subject: &str) -> Result<(), DeleteError>
pub async fn delete_subject(&self, subject: &str) -> Result<(), DeleteError>
Deletes all schema versions associated with the specified subject.
This API is only intended to be used in development environments. Deleting schemas only allows new, potentially incompatible schemas to be registered under the same subject. It does not allow the schema ID to be reused.
Sourcepub async fn get_subject_and_references_by_id(
&self,
id: i32,
) -> Result<(Subject, Vec<Subject>), GetBySubjectError>
pub async fn get_subject_and_references_by_id( &self, id: i32, ) -> Result<(Subject, Vec<Subject>), GetBySubjectError>
Gets the latest version of the first subject found associated with the scheme with the given id, as well as all other subjects referenced by that subject (recursively).
The dependencies are returned in dependency order, with dependencies first.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
impl !UnwindSafe for Client
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign, for types that do not implement AddAssign.