classes/RestMethod/RestQueryKvp.psm1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
class RestQueryKvp { ##################### # HIDDEN PROPERTIES # ##################### ##################### # PUBLIC PROPERTIES # ##################### [ValidateNotNullOrEmpty()] [string] $Key [ValidateNotNull()] [string] $Value ################ # CONSTRUCTORS # ################ RestQueryKvp( [string]$Key, [object]$Value ){ $this.Key = $Key $this.Value = $Value.ToString() } ################## # HIDDEN METHODS # ################## ################## # PUBLIC METHODS # ################## [bool] Equals( [object]$obj ){ return $obj.Key -eq $this.Key -and $obj.Value -eq $this.Value } #Adapted from: https://www.powershellgallery.com/packages/PSApigeeEdge/0.2.4/Content/Private%5CConvertFrom-HashtableToQueryString.ps1 static [string] JoinKvp( # The values to format [RestQueryKvp[]] $Values, # The character to use to separate values (default is '&') [string] $PairSeparator = '&', # The value to use to separate key/value pairs [string] $KeyValueSeparator = '=' ){ return [string]::join($PairSeparator, @( foreach( $kv in $Values) { if($kv.Key) { '{0}{1}{2}' -f $kv.Key, $KeyValueSeparator, $kv.Value } } )) } } |