pub(crate) struct ClientArgs {
pub(crate) headers: Vec<(String, String)>,
pub(crate) username: Option<String>,
pub(crate) password: Option<String>,
pub(crate) token: Option<String>,
pub(crate) tls: bool,
pub(crate) key_log: bool,
pub(crate) host: String,
pub(crate) port: Option<u16>,
pub(crate) accept_compression: Vec<CompressionEncoding>,
pub(crate) send_compression: Option<CompressionEncoding>,
}
Fields§
§headers: Vec<(String, String)>
Additional headers.
Can be given multiple times. Headers and values are separated by ‘=’.
Example: -H foo=bar -H baz=42
username: Option<String>
Username.
Optional. If given, password
must also be set.
password: Option<String>
Password.
Optional. If given, username
must also be set.
token: Option<String>
Auth token.
tls: bool
Use TLS.
If not provided, use cleartext connection.
key_log: bool
Dump TLS key log.
The target file is specified by the SSLKEYLOGFILE
environment variable.
Requires --tls
.
host: String
Server host.
Required.
port: Option<u16>
Server port.
Defaults to 443
if tls
is set, otherwise defaults to 80
.
accept_compression: Vec<CompressionEncoding>
Compression accepted by the client for responses sent by the server.
The client will send this information to the server as part of the request. The server is free to pick an algorithm from that list or use no compression (called “identity” encoding).
You may define multiple algorithms by using a comma-separated list.
send_compression: Option<CompressionEncoding>
Compression of requests sent by the client to the server.
Since the client needs to decide on the compression before sending the request, there is no client<->server negotiation. If the server does NOT support the chosen compression, it will respond with an error a la:
Ipc error: Status {
code: Unimplemented,
message: "Content is compressed with `zstd` which isn't supported",
metadata: MetadataMap { headers: {"grpc-accept-encoding": "identity", ...} },
...
}
Based on the algorithms listed in the grpc-accept-encoding
header, you may make a more educated guess for
your next request. Note that identity
is a synonym for “no compression”.
Trait Implementations§
Source§impl Args for ClientArgs
impl Args for ClientArgs
Source§fn group_id() -> Option<Id>
fn group_id() -> Option<Id>
ArgGroup::id
][crate::ArgGroup::id] for this set of argumentsSource§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command
] so it can instantiate self
via
[FromArgMatches::update_from_arg_matches_mut
] Read moreSource§impl CommandFactory for ClientArgs
impl CommandFactory for ClientArgs
Source§impl Debug for ClientArgs
impl Debug for ClientArgs
Source§impl FromArgMatches for ClientArgs
impl FromArgMatches for ClientArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.Source§impl Parser for ClientArgs
impl Parser for ClientArgs
§fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
§fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
§fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
§fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
Auto Trait Implementations§
impl Freeze for ClientArgs
impl RefUnwindSafe for ClientArgs
impl Send for ClientArgs
impl Sync for ClientArgs
impl Unpin for ClientArgs
impl UnwindSafe for ClientArgs
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered
].