using System;
using System.IO;
using System.Net.Http;

namespace Crysome.Client.Web;

public class WebFileDownloader
{
	private readonly HttpClient httpClient;

	public WebFileDownloader()
	{
		httpClient = new HttpClient();
	}

	public async void DownloadFile(string url)
	{
		HttpResponseMessage response = await httpClient.GetAsync(url);
		if (!response.IsSuccessStatusCode)
		{
			return;
		}
		byte[] bytes = await response.Content.ReadAsByteArrayAsync();
		string[] array = url.Split('/');
		string text = array[array.Length - 1];
		_ = string.Empty;
		_ = string.Empty;
		string text2;
		if (text.Contains("."))
		{
			string[] array2 = text.Split('.');
			text2 = array2[0];
			if (array2[1].Contains("?"))
			{
				array2[1] = array2[1].Split('?')[0];
			}
			string text3 = array2[1];
			text2 = text2 + "." + text3;
		}
		else
		{
			text2 = text;
		}
		if (response.Content.Headers.ContentDisposition != null)
		{
			text2 = response.Content.Headers.ContentDisposition.FileName;
		}
		if (response.Content.Headers.ContentType != null)
		{
			MimeTypeMap.GetExtension(response.Content.Headers.ContentType.MediaType);
		}
		File.WriteAllBytes(Path.Combine(Environment.CurrentDirectory, text2), bytes);
	}
}
