Functions/Private/Get-UrlMetaData.ps1

function Get-UrlMetadata
 {
     [cmdletbinding()]
    param (
        [string] $url
    )
    $HttpResponse =  Get-WebRequestResponse -url $url    
    try {
        Write-Verbose "Fetching file from $url ..."
        Convert-UrlResponseToMetaData $HttpResponse
        Write-Verbose "Got filename: $($HttpResponse.ResponseUri.Segments[-1]), Size: $($HttpResponse.ContentLength)"

    }
    finally {
        Write-Verbose "Disposing of webrequest response."
        if ($null -ne $HttpResponse){
            $HttpResponse.Close()
            $HttpResponse.Dispose()    
        }

    }

}

function Get-WebRequestResponse (){
    param (    [string] $url)
    [System.Net.WebRequest]::Create($url).GetResponse();
}