Skip to content

Commit

Permalink
(maint) Add new query string builder function
Browse files Browse the repository at this point in the history
  • Loading branch information
steviecoaster committed Feb 19, 2024
1 parent 215193d commit f6d41a7
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/private/New-HttpQueryString.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
function New-HttpQueryString
{
#Shamelessly taken from https://powershellmagazine.com/2019/06/14/pstip-a-better-way-to-generate-http-query-strings-in-powershell/
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[String]
$Uri,

[Parameter(Mandatory = $true)]
[Hashtable]
$QueryParameter
)
# Add System.Web
Add-Type -AssemblyName System.Web

# Create a http name value collection from an empty string
$nvCollection = [System.Web.HttpUtility]::ParseQueryString([String]::Empty)

foreach ($key in $QueryParameter.Keys)
{
$nvCollection.Add($key, $QueryParameter.$key)
}

# Build the uri
$uriRequest = [System.UriBuilder]$uri
$uriRequest.Query = $nvCollection.ToString()

return $uriRequest.Uri.OriginalString
}

0 comments on commit f6d41a7

Please sign in to comment.