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

Method resolve_server

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

259 /// Returns `(server_config, Option<name>)` — the name is `Some` when a
260 /// named profile was resolved, `None` for the legacy block.
261 pub fn resolve_server<'a>(
262 &'a self,
263 server_override: Option<&'a str>,
264 ) -> Result<(&'a ServerConfig, Option<&'a str>), String> {
265 // 1. Explicit --server flag
266 if let Some(name) = server_override {
267 return self
268 .servers
269 .get(name)
270 .map(|s| (s, Some(name)))
271 .ok_or_else(|| {
272 format!(
273 "Server profile '{}' not found. \
274 Use 'atomic server list' to see available profiles, \
275 or 'atomic server add {0} <url>' to create it.",
276 name
277 )
278 });
279 }
280
281 // 2. Configured default server name
282 if let Some(ref name) = self.default_server {
283 return self
284 .servers
285 .get(name.as_str())
286 .map(|s| (s, Some(name.as_str())))
287 .ok_or_else(|| {
288 format!(
289 "Default server profile '{}' not found in servers map. \
290 Run 'atomic server set <name>' to fix.",
291 name
292 )
293 });
294 }
295
296 // 3. Legacy [server] block
297 Ok((&self.server, None))
298 }
299
300 /// Resolve the effective server config mutably, honouring the optional
301 /// name override.

Callers 5

build_apex_clientFunction · 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