fn validate_endpoint()

in client/src/config.rs [171:200]


    fn validate_endpoint(&self) -> Result<Endpoint, ConfigError> {
        let endpoint = self
            .endpoint
            .as_ref()
            .ok_or_else(|| ConfigError::InvalidEndpoint("Endpoint not provided".to_string()))?;

        if !ENDPOINT_REGEX.is_match(endpoint) {
            return Err(ConfigError::InvalidEndpoint(endpoint.to_string()));
        }

        if let Some(stripped) = endpoint.strip_prefix(SCHEME_HTTPS) {
            return Ok(Endpoint {
                domain: stripped.to_string(),
                scheme: SCHEME_HTTPS,
            });
        }

        if let Some(stripped) = endpoint.strip_prefix(SCHEME_HTTP) {
            return Ok(Endpoint {
                domain: stripped.to_string(),
                scheme: SCHEME_HTTP,
            });
        }

        // No scheme in the input, use default
        Ok(Endpoint {
            domain: endpoint.to_string(),
            scheme: DEFAULT_HTTP_SCHEME,
        })
    }