Functions/Internal/Get-WebResponse.ps1
<#
.SYNOPSIS Get a the summary response from a URL .DESCRIPTION Makes a HTTP request to the URL and returns the StatusCode, StatusDescription and Headers. Avoids downloading the content from the URL .EXAMPLE Get-WebResponse "http://bing.com" .INPUTS $Url = URL to access .OUTPUTS Headers StatusCode StatusDescription .NOTES #> function Get-WebResponse { [CmdletBinding()] param ( [string] $Url ) Write-Host "Create WebRequest for $url and Get response" $Result = @{} Try { Write-Verbose "Create WebRequest for $url and Get response" $Response = $null $Response = Get-WebRequestResponse $url $Result.Headers = $Response.Headers $result.ContentLength = $response.ContentLength $Result.StatusCode = $Response.StatusCode $Result.StatusDescription = $Response.StatusDescription } Catch { Write-Verbose "Response failed $_" $Result.StatusCode = 500 $Result.StatusDescription = $_.Exception.Message } Finally { if ($null -ne $Response -and $Response -is [System.Net.HttpWebResponse]) { $Response.Dispose(); } } return [PSCustomObject]$Result } Write-Host "GetWebResponse" |