private static UriBuilder BuildBaseUrl(string operation, BaseRequest baseRequest)
 {
     return new UriBuilder($"{Consts.BaseUrl}/{operation}/{Consts.Version}/")
         .AddQuery("domain", baseRequest.CallbackUri.Host)
         .AddQuery("scheme", baseRequest.CallbackUri.Scheme)
         .AddQuery("callback", baseRequest.CallbackUri.PathAndQuery.TrimStart('/'))
         .AddQuery("appName", baseRequest.DisplayName);
 }
        private static void ValidateBaseRequestAndThrow(BaseRequest request)
        {
            if (request == null)
            {
                throw new ArgumentException(nameof(request));
            }

            if (request.CallbackUri == null)
            {
                throw new ArgumentNullException(nameof(request.CallbackUri), $"{nameof(request.CallbackUri)} cannot be null.");
            }

            if (string.IsNullOrEmpty(request.DisplayName))
            {
                throw new ArgumentNullException(nameof(request.DisplayName), $"{nameof(request.DisplayName)} cannot be empty.");
            }
        }