Private/New-GCQueryString.ps1
|
function New-GCQueryString { [CmdletBinding()] param( [Parameter(Mandatory = $true)] [hashtable]$Parameters ) $queryParts = @() foreach ($key in $Parameters.Keys) { $value = $Parameters[$key] if ($null -ne $value) { if ($value -is [array]) { foreach ($item in $value) { $queryParts += "$key=$([uri]::EscapeDataString($item))" } } elseif ($value -is [bool]) { $queryParts += "$key=$($value.ToString().ToLower())" } else { $queryParts += "$key=$([uri]::EscapeDataString($value.ToString()))" } } } if ($queryParts.Count -gt 0) { return "?$($queryParts -join '&')" } return "" } |