using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Threading.Tasks;
string[] userHandlers = new []
using HttpClient client = new()
BaseAddress = new Uri("https://api.github.com"),
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("DotNet", "6"));
ParallelOptions parallelOptions = new()
MaxDegreeOfParallelism = 3
await Parallel.ForEachAsync(userHandlers, parallelOptions, async (uri, token) =>
var user = await client.GetFromJsonAsync<GitHubUser>(uri, token);
Console.WriteLine($"Name: {user.Name}\nBio: {user.Bio}\n");
public string Name { get; set; }
public string Bio { get; set; }