pub struct Connector {Show 15 fields
pub id: ConnectId,
pub transport: Option<HttpJsonTransport>,
pub selection: JSONSelection,
pub config: Option<CustomConfiguration>,
pub max_requests: Option<usize>,
pub entity_resolver: Option<EntityResolver>,
pub spec: ConnectSpec,
pub schema_subtypes_map: IndexMap<String, IndexSet<String>>,
pub request_headers: HashSet<String>,
pub response_headers: HashSet<String>,
pub request_variable_keys: IndexMap<Namespace, IndexSet<String>>,
pub response_variable_keys: IndexMap<Namespace, IndexSet<String>>,
pub batch_settings: Option<ConnectBatchArguments>,
pub error_settings: ConnectorErrorsSettings,
pub label: Label,
}Fields§
§id: ConnectId§transport: Option<HttpJsonTransport>HTTP transport configuration. None for mapping-only connectors (where http is omitted).
selection: JSONSelection§config: Option<CustomConfiguration>§max_requests: Option<usize>§entity_resolver: Option<EntityResolver>The type of entity resolver to use for this connector
spec: ConnectSpecWhich version of the connect spec is this connector using?
schema_subtypes_map: IndexMap<String, IndexSet<String>>All supertype-subtype(s) relationships from the source schema.
request_headers: HashSet<String>The request headers referenced in the connectors request mapping
response_headers: HashSet<String>The request or response headers referenced in the connectors response mapping
request_variable_keys: IndexMap<Namespace, IndexSet<String>>Environment and context variable keys referenced in the connector
response_variable_keys: IndexMap<Namespace, IndexSet<String>>§batch_settings: Option<ConnectBatchArguments>§error_settings: ConnectorErrorsSettings§label: LabelA label for use in debugging and logging. Includes ID, transport method, and path.
Implementations§
Source§impl Connector
impl Connector
Sourcepub fn from_schema(
schema: &Schema,
subgraph_name: &str,
) -> Result<Vec<Self>, FederationError>
pub fn from_schema( schema: &Schema, subgraph_name: &str, ) -> Result<Vec<Self>, FederationError>
Get a map of connectors from an apollo_compiler::Schema.
Note: the function assumes that we’ve checked that the schema is valid
before calling this function. We can’t take a Valid<Schema> or ValidFederationSchema
because we use this code in validation, which occurs before we’ve augmented
the schema with types from @link directives.
pub fn subtypes_map_from_schema( schema: &Schema, ) -> IndexMap<String, IndexSet<String>>
Sourcepub fn resolvable_key(
&self,
schema: &Schema,
) -> Result<Option<Valid<FieldSet>>, String>
pub fn resolvable_key( &self, schema: &Schema, ) -> Result<Option<Valid<FieldSet>>, String>
Create a field set for a @key using $args, $this, or $batch variables.
Sourcepub fn source_config_key(&self) -> String
pub fn source_config_key(&self) -> String
Create an identifier for this connector that can be used for configuration and service identification
source_name will be None here when we are using a “sourceless” connector. In this situation, we’ll use
the synthetic_name instead so that we have some kind of a unique identifier for this source.
Sourcepub fn id(&self) -> String
pub fn id(&self) -> String
Get the id`` of the @connect directive associated with this [Connector`] instance.
Sourcepub fn abstract_types(&self) -> IndexSet<String>
pub fn abstract_types(&self) -> IndexSet<String>
Get the set of abstract type names from the schema subtypes map
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Connector
impl RefUnwindSafe for Connector
impl Send for Connector
impl Sync for Connector
impl Unpin for Connector
impl UnsafeUnpin for Connector
impl UnwindSafe for Connector
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
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> 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);