packages feed

downloader-0.1.0.1: scripts/download.ps1

param (
  [string]$url,
  [string]$queryParams = "",
  [string]$outputPath,
  [string]$userAgent,
  [string]$proxy = "",
  [string]$auth = "",
  [string]$user = "",
  [string]$pass = ""
)

Add-Type -AssemblyName System.Web

Try {
  $wc = New-Object System.Net.WebClient;
  $wc.Headers.Add("User-Agent", $userAgent);
  If ($queryParams -ne "") {
    $encodedParams = [System.Web.HttpUtility]::UrlEncode($queryParams);
    $url = $url + '?' + $encodedParams
  }
  if ($proxy -ne "") {
    $proxyUri = New-Object System.Uri -ArgumentList $proxy
    $proxyObject = New-Object System.Net.WebProxy -ArgumentList $proxyUri
    if ($auth -eq "basic") {
      $creds = New-Object System.Net.NetworkCredential -ArgumentList $user, $pass;
      $proxyObject.Credentials = $creds;
    }
    elseif ($auth -eq "digest") {
      $creds = New-Object System.Net.NetworkCredential -ArgumentList $user, $pass;
      $proxyObject.Credentials = $creds;
    }
    else {}
    $wc.Proxy = $proxyObject;
  }
  $wc.DownloadFile($url, $outputPath);
  Write-Host "200";
}
Catch {
  $ex = $_.Exception;
  While ($ex -ne $null) {
    Write-Host $ex.Message;
    $ex = $ex.InnerException;
  }
}