Private/Runtime/ConvertTo-OpenApiHeaderParameter.ps1
|
function ConvertTo-OpenApiHeaderParameter { <# .SYNOPSIS Serialises a header parameter value with the simple style (not percent-encoded). #> [CmdletBinding()] [OutputType([string])] param( [Parameter()] [AllowNull()] [object]$Value, [Parameter()] [switch]$Explode ) $shape = Get-OpenApiValueShape -Value $Value if ($shape -eq 'Empty') { return '' } if ($shape -eq 'Scalar') { return (ConvertTo-OpenApiScalarString -Value $Value) } if ($shape -eq 'Array') { return ((@($Value) | ForEach-Object -Process { ConvertTo-OpenApiScalarString -Value $_ }) -join ',') } $parts = foreach ($pair in (ConvertTo-OpenApiPropertyList -InputObject $Value)) { if ($Explode) { $pair.Name + '=' + (ConvertTo-OpenApiScalarString -Value $pair.Value) } else { $pair.Name ConvertTo-OpenApiScalarString -Value $pair.Value } } return (@($parts) -join ',') } |