diff --git a/modules/openapi-generator/src/main/resources/powershell/api_client.mustache b/modules/openapi-generator/src/main/resources/powershell/api_client.mustache index 62223b4e7df..a9b2d04c9a8 100644 --- a/modules/openapi-generator/src/main/resources/powershell/api_client.mustache +++ b/modules/openapi-generator/src/main/resources/powershell/api_client.mustache @@ -113,8 +113,12 @@ function Invoke-{{{apiNamePrefix}}}ApiClient { } {{/hasHttpSignatureMethods}} - # Use splatting to pass optional parameters + # Use splatting to pass parameters $Params = @{} + $Params.Uri = $UriBuilder.Uri + $Params.Method = $Method + $Params.Headers = $HeaderParameters + $Params.ErrorAction = 'Stop' if ($SkipCertificateCheck -eq $true) { $Params.SkipCertificateCheck = $true } @@ -122,7 +126,9 @@ function Invoke-{{{apiNamePrefix}}}ApiClient { $Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri) $Params.ProxyUseDefaultCredentials = $true } - if ($Multipart) { + + # Invoke request + if ($MultiPart) { if ($PSVersionTable.PSVersion.Major -eq 5) { # Preset null return values as not supported by Invoke-RestMethod on PS5 $ResponseHeaders = $null @@ -132,16 +138,8 @@ function Invoke-{{{apiNamePrefix}}}ApiClient { $Params.ResponseHeadersVariable = "ResponseHeaders" $Params.StatusCodeVariable = "ResponseStatusCode" } - } - - # Invoke request - if ($MultiPart) { $Params.Form = $FormParameters - $Response = Invoke-RestMethod -Uri $UriBuilder.Uri ` - -Method $Method ` - -Headers $HeaderParameters ` - -ErrorAction Stop ` - @Params + $Response = Invoke-RestMethod @Params return @{ Response = $Response @@ -150,12 +148,8 @@ function Invoke-{{{apiNamePrefix}}}ApiClient { } } else { $Params.Body = $RequestBody - $Response = Invoke-WebRequest -Uri $UriBuilder.Uri ` - -Method $Method ` - -Headers $HeaderParameters ` - -ErrorAction Stop ` - -UseBasicParsing ` - @Params + $Params.UseBasicParsing = $true + $Response = Invoke-WebRequest @Params return @{ Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"] diff --git a/samples/client/echo_api/powershell/src/PSOpenAPITools/Private/ApiClient.ps1 b/samples/client/echo_api/powershell/src/PSOpenAPITools/Private/ApiClient.ps1 index fe76ab4cd69..253b4506fe2 100644 --- a/samples/client/echo_api/powershell/src/PSOpenAPITools/Private/ApiClient.ps1 +++ b/samples/client/echo_api/powershell/src/PSOpenAPITools/Private/ApiClient.ps1 @@ -101,8 +101,12 @@ function Invoke-ApiClient { } } - # Use splatting to pass optional parameters + # Use splatting to pass parameters $Params = @{} + $Params.Uri = $UriBuilder.Uri + $Params.Method = $Method + $Params.Headers = $HeaderParameters + $Params.ErrorAction = 'Stop' if ($SkipCertificateCheck -eq $true) { $Params.SkipCertificateCheck = $true } @@ -110,7 +114,9 @@ function Invoke-ApiClient { $Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri) $Params.ProxyUseDefaultCredentials = $true } - if ($Multipart) { + + # Invoke request + if ($MultiPart) { if ($PSVersionTable.PSVersion.Major -eq 5) { # Preset null return values as not supported by Invoke-RestMethod on PS5 $ResponseHeaders = $null @@ -120,16 +126,8 @@ function Invoke-ApiClient { $Params.ResponseHeadersVariable = "ResponseHeaders" $Params.StatusCodeVariable = "ResponseStatusCode" } - } - - # Invoke request - if ($MultiPart) { $Params.Form = $FormParameters - $Response = Invoke-RestMethod -Uri $UriBuilder.Uri ` - -Method $Method ` - -Headers $HeaderParameters ` - -ErrorAction Stop ` - @Params + $Response = Invoke-RestMethod @Params return @{ Response = $Response @@ -138,12 +136,8 @@ function Invoke-ApiClient { } } else { $Params.Body = $RequestBody - $Response = Invoke-WebRequest -Uri $UriBuilder.Uri ` - -Method $Method ` - -Headers $HeaderParameters ` - -ErrorAction Stop ` - -UseBasicParsing ` - @Params + $Params.UseBasicParsing = $true + $Response = Invoke-WebRequest @Params return @{ Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"] diff --git a/samples/client/petstore/powershell/src/PSPetstore/Private/PSApiClient.ps1 b/samples/client/petstore/powershell/src/PSPetstore/Private/PSApiClient.ps1 index 888711216e7..82ae93823a8 100644 --- a/samples/client/petstore/powershell/src/PSPetstore/Private/PSApiClient.ps1 +++ b/samples/client/petstore/powershell/src/PSPetstore/Private/PSApiClient.ps1 @@ -117,8 +117,12 @@ function Invoke-PSApiClient { } } - # Use splatting to pass optional parameters + # Use splatting to pass parameters $Params = @{} + $Params.Uri = $UriBuilder.Uri + $Params.Method = $Method + $Params.Headers = $HeaderParameters + $Params.ErrorAction = 'Stop' if ($SkipCertificateCheck -eq $true) { $Params.SkipCertificateCheck = $true } @@ -126,7 +130,9 @@ function Invoke-PSApiClient { $Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri) $Params.ProxyUseDefaultCredentials = $true } - if ($Multipart) { + + # Invoke request + if ($MultiPart) { if ($PSVersionTable.PSVersion.Major -eq 5) { # Preset null return values as not supported by Invoke-RestMethod on PS5 $ResponseHeaders = $null @@ -136,16 +142,8 @@ function Invoke-PSApiClient { $Params.ResponseHeadersVariable = "ResponseHeaders" $Params.StatusCodeVariable = "ResponseStatusCode" } - } - - # Invoke request - if ($MultiPart) { $Params.Form = $FormParameters - $Response = Invoke-RestMethod -Uri $UriBuilder.Uri ` - -Method $Method ` - -Headers $HeaderParameters ` - -ErrorAction Stop ` - @Params + $Response = Invoke-RestMethod @Params return @{ Response = $Response @@ -154,12 +152,8 @@ function Invoke-PSApiClient { } } else { $Params.Body = $RequestBody - $Response = Invoke-WebRequest -Uri $UriBuilder.Uri ` - -Method $Method ` - -Headers $HeaderParameters ` - -ErrorAction Stop ` - -UseBasicParsing ` - @Params + $Params.UseBasicParsing = $true + $Response = Invoke-WebRequest @Params return @{ Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"]