PrivateFunctions/Build-RHCQueryString.ps1
function Build-RHCQueryString { Param ( [hashtable] $Parameters ) if (-not $Parameters -or $Parameters.Count -eq 0) { return "" } $queryParts = @() foreach ($key in $Parameters.Keys) { $value = $Parameters[$key] # If the value is an array (but not a string), add a key=value pair for each element. if ($value -is [System.Collections.IEnumerable] -and -not ($value -is [string])) { foreach ($item in $value) { $queryParts += ([System.Uri]::EscapeDataString($key) + "=" + [System.Uri]::EscapeDataString($item)) } } else { $queryParts += ([System.Uri]::EscapeDataString($key) + "=" + [System.Uri]::EscapeDataString($value)) } } return "?" + ($queryParts -join "&") }; |