Example #1
0
 /// <summary>
 /// Maps the imageboard to a base URL that can be for HTTP clients.
 /// </summary>
 public static (string registrableDomain, string baseUrl) AsBaseUrl(this Imageboard imageboard)
 {
     return(imageboard switch
     {
         Imageboard.E621 => (E621BaseUrlRegistrableDomain, E621BaseUrl),
         Imageboard.E926 => (E921BaseUrlRegistrableDomain, E921BaseUrl),
         _ => throw new ArgumentOutOfRangeException(nameof(imageboard))
     });
        /// <summary>
        /// Sets the imageboard used to retrieve data from. Not specifying an imageboard will make
        /// the client use <see cref="E621Client.DefaultImageboard"/>.
        /// </summary>
        public E621ClientBuilder WithBaseUrl(Imageboard imageboard)
        {
            var(registrableDomain, baseUrl) = imageboard.AsBaseUrl();

            return(WithBaseUrl(registrableDomain, baseUrl));
        }