MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / resolve_server

Method resolve_server

atomic-config/src/lib.rs:288–325  ·  view source on GitHub ↗

Resolve the effective server config, honouring the optional name override. Resolution order: 1. `server_override` (from `--server ` CLI flag) 2. `default_server` (from `~/.atomic/config.toml`) 3. Legacy `server` block Returns `(server_config, Option )` — the name is `Some` when a named profile was resolved, `None` for the legacy block.

(
        &'a self,
        server_override: Option<&'a str>,
    )

Source from the content-addressed store, hash-verified

286 /// Returns `(server_config, Option<name>)` — the name is `Some` when a
287 /// named profile was resolved, `None` for the legacy block.
288 pub fn resolve_server<'a>(
289 &'a self,
290 server_override: Option<&'a str>,
291 ) -> Result<(&'a ServerConfig, Option<&'a str>), String> {
292 // 1. Explicit --server flag
293 if let Some(name) = server_override {
294 return self
295 .servers
296 .get(name)
297 .map(|s| (s, Some(name)))
298 .ok_or_else(|| {
299 format!(
300 "Server profile '{}' not found. \
301 Use 'atomic server list' to see available profiles, \
302 or 'atomic server add {0} <url>' to create it.",
303 name
304 )
305 });
306 }
307
308 // 2. Configured default server name
309 if let Some(ref name) = self.default_server {
310 return self
311 .servers
312 .get(name.as_str())
313 .map(|s| (s, Some(name.as_str())))
314 .ok_or_else(|| {
315 format!(
316 "Default server profile '{}' not found in servers map. \
317 Run 'atomic server set <name>' to fix.",
318 name
319 )
320 });
321 }
322
323 // 3. Legacy [server] block
324 Ok((&self.server, None))
325 }
326
327 /// Resolve the effective server config mutably, honouring the optional
328 /// name override.

Callers 6

build_apex_clientFunction · 0.80
apex_server_urlFunction · 0.80
build_client_with_orgFunction · 0.80
resolve_orgFunction · 0.80
resolve_workspaceFunction · 0.80
run_with_verifierMethod · 0.80

Calls 2

getMethod · 0.65
as_strMethod · 0.45

Tested by

no test coverage detected