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

Method resolve_server

atomic-config/src/lib.rs:243–280  ·  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

241 /// Returns `(server_config, Option<name>)` — the name is `Some` when a
242 /// named profile was resolved, `None` for the legacy block.
243 pub fn resolve_server<'a>(
244 &'a self,
245 server_override: Option<&'a str>,
246 ) -> Result<(&'a ServerConfig, Option<&'a str>), String> {
247 // 1. Explicit --server flag
248 if let Some(name) = server_override {
249 return self
250 .servers
251 .get(name)
252 .map(|s| (s, Some(name)))
253 .ok_or_else(|| {
254 format!(
255 "Server profile '{}' not found. \
256 Use 'atomic server list' to see available profiles, \
257 or 'atomic server add {0} <url>' to create it.",
258 name
259 )
260 });
261 }
262
263 // 2. Configured default server name
264 if let Some(ref name) = self.default_server {
265 return self
266 .servers
267 .get(name.as_str())
268 .map(|s| (s, Some(name.as_str())))
269 .ok_or_else(|| {
270 format!(
271 "Default server profile '{}' not found in servers map. \
272 Run 'atomic server set <name>' to fix.",
273 name
274 )
275 });
276 }
277
278 // 3. Legacy [server] block
279 Ok((&self.server, None))
280 }
281}
282
283/// Color output preference

Callers 1

build_client_with_orgFunction · 0.80

Calls 2

getMethod · 0.65
as_strMethod · 0.45

Tested by

no test coverage detected