Skip to main content

EnvArgs

Struct EnvArgs 

Source
pub struct EnvArgs {
    pub config_file_path: Option<String>,
    pub port: Option<u16>,
    pub fallback_respond_dir_path: Option<String>,
}
Expand description

CLI arguments parsed at process start-up.

§Why these three fields are the only command-line surface

apimock deliberately keeps its CLI tiny: config-file path, port, fallback respond dir. Anything richer than that belongs in the TOML config so that it can be checked in with the rest of the mock setup and reproduced between machines. The three CLI flags exist only for quick ad-hoc overrides that don’t warrant editing the config file.

Fields§

§config_file_path: Option<String>

path to the config TOML file (usually ./apimock.toml)

§port: Option<u16>

overrides listener.port in the config file

§fallback_respond_dir_path: Option<String>

overrides service.fallback_respond_dir in the config file

Implementations§

Source§

impl EnvArgs

Source

pub fn default() -> AppResult<Option<Self>>

Parse env::args() and apply defaults.

Returns:

  • Ok(Some(args)) for the normal “start the server” path,
  • Ok(None) when a meta command (e.g. --init) has already completed its side effect and the process should exit cleanly,
  • Err(_) when an argument was malformed or a referenced file is missing.
§Why return AppResult<Option<_>> instead of panicking

Previously invalid arguments triggered panic!, which printed a backtrace for a user-level error. Returning a typed error lets the binary print “invalid port: foo” and exit 1, which is what users of CLI tools actually expect.

Source

pub fn validate(&self) -> AppResult<()>

Ensure paths referenced by CLI flags actually exist.

We only check existence, not permission or content — a file the process can see but can’t read will still produce a better error downstream at the point it’s actually used.

Trait Implementations§

Source§

impl Clone for EnvArgs

Source§

fn clone(&self) -> EnvArgs

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more