From a596dedbf4bd5ba68075601e0eb84e8f0be7d6f7 Mon Sep 17 00:00:00 2001 From: Julien Marrec Date: Tue, 12 Mar 2024 16:46:25 +0100 Subject: [PATCH] Add a helper function `Check-Uri-Exist` to check if a given Uri is valid (status code 200) --- common-helpers.psm1 | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/common-helpers.psm1 b/common-helpers.psm1 index fa54723..ef777a8 100644 --- a/common-helpers.psm1 +++ b/common-helpers.psm1 @@ -24,6 +24,31 @@ function Execute-Command { } } +<# +.SYNOPSIS +Check whether a given remote Uri exists +#> +function Check-Uri-Exist { + param( + [Parameter(Mandatory=$true)] + [Uri]$Uri + ) + + try { + $statusCode = (Invoke-WebRequest -Uri $Uri -UseBasicParsing -DisableKeepAlive -Method head).StatusCode + if ($statusCode -eq 200) { + return $true + } else { + Write-Host "File at $Uri did not appear to be valid, with status code '$statusCode'" + return $false; + } + } catch { + $statusCode = [int]$_.Exception.Response.StatusCode + Write-Host "File at $Uri did not appear to be valid, with status code '$statusCode'" + return $false + } +} + <# .SYNOPSIS Download file from url and return local path to file @@ -47,7 +72,7 @@ function Download-File { Write-Host "Error during downloading file from '$Uri'" "$_" exit 1 - } + } } <#