mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
39 lines
994 B
C#
39 lines
994 B
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Web;
|
|||
|
|
|||
|
namespace Wabbajack.Downloaders
|
|||
|
{
|
|||
|
public class DropboxDownloader : IDownloader
|
|||
|
{
|
|||
|
public void Init()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public AbstractDownloadState GetDownloaderState(dynamic archive_ini)
|
|||
|
{
|
|||
|
var urlstring = archive_ini?.General?.directURL;
|
|||
|
if (urlstring == null) return null;
|
|||
|
var uri = new UriBuilder((string)urlstring);
|
|||
|
if (uri.Host != "www.dropbox.com") return null;
|
|||
|
var query = HttpUtility.ParseQueryString(uri.Query);
|
|||
|
|
|||
|
if (query.GetValues("dl").Length > 0)
|
|||
|
query.Remove("dl");
|
|||
|
|
|||
|
query.Set("dl", "1");
|
|||
|
|
|||
|
uri.Query = query.ToString();
|
|||
|
|
|||
|
return new HTTPDownloader.State()
|
|||
|
{
|
|||
|
Url = uri.ToString().Replace("dropbox.com:443/", "dropbox.com/")
|
|||
|
};
|
|||
|
}
|
|||
|
}
|
|||
|
}
|