/// <summary> /// creating response stream /// </summary> /// <param name="resourceInfo">downloading link</param> /// <param name="startRangePosition">range start position</param> /// <param name="endRangePosition">range end position</param> /// <returns></returns> public Stream CreateResponseStream(ResourceInfo resourceInfo, int startRangePosition, int endRangePosition) { if (resourceInfo != null) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resourceInfo.Url); request.Timeout = 30000; if (startRangePosition != 0) { if (endRangePosition == 0) { request.AddRange(startRangePosition); } else { request.AddRange(startRangePosition, endRangePosition); } } WebResponse response = request.GetResponse(); return response.GetResponseStream(); } else return null; }
public RemoteFileInfo GetFileInfo(ResourceInfo resourceInfo, out System.IO.Stream stream) { RemoteFileInfo result = proxy.GetFileInfo(resourceInfo, out stream); if (stream != null) { stream = new LimitedSpeedProxyStream(stream, speedLimit); } return result; }
/// <summary> /// Method for getting file information /// </summary> /// <param name="resourceInfo">link</param> /// <param name="stream">download stream</param> /// <returns>information about downloading file</returns> public RemoteFileInfo GetFileInfo(ResourceInfo resourceInfo, out Stream stream) { if (resourceInfo != null) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resourceInfo.Url); request.Timeout = 30000; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); RemoteFileInfo result = new RemoteFileInfo(); result.LastModified = response.LastModified; result.FileSize = response.ContentLength; result.AcceptRanges = string.Compare(response.Headers["Accept-Ranges"], "bytes", true, CultureInfo.CurrentCulture) == 0; stream = response.GetResponseStream(); return result; } else { stream = null; return null; } }
public static ResourceInfo FromUrl( string url, bool authenticate, string logOn, string password) { ResourceInfo ri = new ResourceInfo(); ri.Url = url; ri.Authenticate = authenticate; ri.LogOn = logOn; ri.Password = password; return ri; }
public static ResourceInfo FromUrl(string url) { ResourceInfo ri = new ResourceInfo(); ri.Url = url; return ri; }
public System.IO.Stream CreateResponseStream(ResourceInfo resourceInfo, int startRangePosition, int endRangePosition) { return new LimitedSpeedProxyStream(proxy.CreateResponseStream(resourceInfo, startRangePosition, endRangePosition), speedLimit); }
private static string GetFileName(ResourceInfo mirror) { Uri uri = new Uri(mirror.Url); var fileName = uri.Segments[uri.Segments.Length - 1]; return HttpUtility.UrlDecode(fileName).Replace("/", "\\"); }
/// <summary> /// Add one mirror to VM /// </summary> /// <param name="mirrorToAdd">miror to add</param> public void AddMirror(string mirrorToAdd) { ResourceInfo ri = new ResourceInfo(); ri.Url = mirrorToAdd; this.mirror = ri; NotifyPropertyChanged("Mirror"); }
/// <summary> /// Adding mirror to mirror list of VM /// </summary> /// <param name="mirrorToAdd">mirror to add</param> public void AddMirrorToList(string mirrorToAdd) { ResourceInfo ri = new ResourceInfo(); ri.Url = mirrorToAdd; mirrors.Add(ri); NotifyPropertyChanged("Mirrors"); }
/// <summary> /// Add new download /// </summary> /// <param name="mirror">download mirror</param> public void AddDownload(string mirror) { try { ResourceInfo info = new ResourceInfo(); info.Url = mirror; string fileName = string.Empty; fileName = info != null ? GetFileName(info) : string.Empty; Downloader fileToDownload = new Downloader( info, null, Settings.Default.DefaultSavePathDocuments, fileName); DownloaderManager.Instance.Add(fileToDownload, true); } catch (ArgumentException) { } }
public Downloader Add( ResourceInfo resourceInfo, ResourceInfo[] mirrors, string localFile, List<FileSegment> segments, RemoteFileInfo remoteInfo, bool autoStart, DateTime createdDateTime, string fileName) { Downloader d = new Downloader(resourceInfo, mirrors, localFile, segments, remoteInfo, createdDateTime, fileName); Add(d, autoStart); return d; }
public Downloader Add(ResourceInfo resourceInfo, ResourceInfo[] mirrors, string localFile, bool autoStart, string fileName) { Downloader d = new Downloader(resourceInfo, mirrors, localFile, fileName); Add(d, autoStart); return d; }