internal/functions/new-webrequest.ps1
<# .SYNOPSIS Get a web request object .DESCRIPTION Get a prepared web request object with all necessary headers and tokens in place .PARAMETER RequestUrl The URL you want to work against .PARAMETER AuthorizationHeader The Authorization Header object that you want to use for you web request .PARAMETER Action The HTTP action you want to preform .EXAMPLE PS C:\> New-WebRequest -RequestUrl "https://login.windows.net/contoso/.well-known/openid-configuration" -AuthorizationHeader $null -Action GET This will create a new web request object that will work against the "https://login.windows.net/contoso/.well-known/openid-configuration" URL. The HTTP action is GET and in this case we don't need an Authorization Header in place. .NOTES Author: Rasmus Andersen (@ITRasmus) Author: Mötz Jensen (@Splaxi) #> function New-WebRequest { [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "")] param ( $RequestUrl, $AuthorizationHeader, $Action ) Write-PSFMessage -Level Verbose -Message "New Request $RequestUrl, $Action" $request = [System.Net.WebRequest]::Create($RequestUrl) if ($null -ne $AuthorizationHeader) { $request.Headers["Authorization"] = $AuthorizationHeader.CreateAuthorizationHeader() } $request.Method = $Action $request } |