/// <summary>Downloads the file referenced by the specified <paramref name="relativePath" />.</summary>
        /// <param name="relativePath">The URI to the file to be downloaded, relative to the client base address.</param>
        /// <returns>The file.</returns>
        public Task <ITransferableFile> DownloadAsync(Uri relativePath)
        {
            var args = new ResolvingPathEventArgs(_BaseAddress, relativePath.ToString());

            OnResolvingPath(args);
            return(DoDownloadAsync(args.ResolvedPath));
        }
 /// <summary>Triggers the <see cref="ResolvingPath" /> event.</summary>
 /// <param name="e">The event arguments.</param>
 protected virtual void OnResolvingPath(ResolvingPathEventArgs e)
 {
     if (ResolvingPath != null)
     {
         ResolvingPath(this, e);
     }
 }
        /// <summary>Deletes the file referenced by the specified <paramref name="relativePath" />.</summary>
        /// <param name="relativePath">The URI to the file to be deleted, relative to the client base address.</param>
        public Task DeleteAsync(Uri relativePath)
        {
            var args = new ResolvingPathEventArgs(_BaseAddress, relativePath.ToString());

            OnResolvingPath(args);
            return(DoDeleteAsync(args.ResolvedPath));
        }