Further code optimization

This commit is contained in:
condorcorde 2024-04-04 18:02:12 +02:00
parent 5f122f806b
commit b5868cedc7
3 changed files with 33 additions and 51 deletions

View File

@ -113,8 +113,12 @@ function Invoke-{{{apiNamePrefix}}}ApiClient {
} }
{{/hasHttpSignatureMethods}} {{/hasHttpSignatureMethods}}
# Use splatting to pass optional parameters # Use splatting to pass parameters
$Params = @{} $Params = @{}
$Params.Uri = $UriBuilder.Uri
$Params.Method = $Method
$Params.Headers = $HeaderParameters
$Params.ErrorAction = 'Stop'
if ($SkipCertificateCheck -eq $true) { if ($SkipCertificateCheck -eq $true) {
$Params.SkipCertificateCheck = $true $Params.SkipCertificateCheck = $true
} }
@ -122,7 +126,9 @@ function Invoke-{{{apiNamePrefix}}}ApiClient {
$Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri) $Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri)
$Params.ProxyUseDefaultCredentials = $true $Params.ProxyUseDefaultCredentials = $true
} }
if ($Multipart) {
# Invoke request
if ($MultiPart) {
if ($PSVersionTable.PSVersion.Major -eq 5) { if ($PSVersionTable.PSVersion.Major -eq 5) {
# Preset null return values as not supported by Invoke-RestMethod on PS5 # Preset null return values as not supported by Invoke-RestMethod on PS5
$ResponseHeaders = $null $ResponseHeaders = $null
@ -132,16 +138,8 @@ function Invoke-{{{apiNamePrefix}}}ApiClient {
$Params.ResponseHeadersVariable = "ResponseHeaders" $Params.ResponseHeadersVariable = "ResponseHeaders"
$Params.StatusCodeVariable = "ResponseStatusCode" $Params.StatusCodeVariable = "ResponseStatusCode"
} }
}
# Invoke request
if ($MultiPart) {
$Params.Form = $FormParameters $Params.Form = $FormParameters
$Response = Invoke-RestMethod -Uri $UriBuilder.Uri ` $Response = Invoke-RestMethod @Params
-Method $Method `
-Headers $HeaderParameters `
-ErrorAction Stop `
@Params
return @{ return @{
Response = $Response Response = $Response
@ -150,12 +148,8 @@ function Invoke-{{{apiNamePrefix}}}ApiClient {
} }
} else { } else {
$Params.Body = $RequestBody $Params.Body = $RequestBody
$Response = Invoke-WebRequest -Uri $UriBuilder.Uri ` $Params.UseBasicParsing = $true
-Method $Method ` $Response = Invoke-WebRequest @Params
-Headers $HeaderParameters `
-ErrorAction Stop `
-UseBasicParsing `
@Params
return @{ return @{
Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"] Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"]

View File

@ -101,8 +101,12 @@ function Invoke-ApiClient {
} }
} }
# Use splatting to pass optional parameters # Use splatting to pass parameters
$Params = @{} $Params = @{}
$Params.Uri = $UriBuilder.Uri
$Params.Method = $Method
$Params.Headers = $HeaderParameters
$Params.ErrorAction = 'Stop'
if ($SkipCertificateCheck -eq $true) { if ($SkipCertificateCheck -eq $true) {
$Params.SkipCertificateCheck = $true $Params.SkipCertificateCheck = $true
} }
@ -110,7 +114,9 @@ function Invoke-ApiClient {
$Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri) $Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri)
$Params.ProxyUseDefaultCredentials = $true $Params.ProxyUseDefaultCredentials = $true
} }
if ($Multipart) {
# Invoke request
if ($MultiPart) {
if ($PSVersionTable.PSVersion.Major -eq 5) { if ($PSVersionTable.PSVersion.Major -eq 5) {
# Preset null return values as not supported by Invoke-RestMethod on PS5 # Preset null return values as not supported by Invoke-RestMethod on PS5
$ResponseHeaders = $null $ResponseHeaders = $null
@ -120,16 +126,8 @@ function Invoke-ApiClient {
$Params.ResponseHeadersVariable = "ResponseHeaders" $Params.ResponseHeadersVariable = "ResponseHeaders"
$Params.StatusCodeVariable = "ResponseStatusCode" $Params.StatusCodeVariable = "ResponseStatusCode"
} }
}
# Invoke request
if ($MultiPart) {
$Params.Form = $FormParameters $Params.Form = $FormParameters
$Response = Invoke-RestMethod -Uri $UriBuilder.Uri ` $Response = Invoke-RestMethod @Params
-Method $Method `
-Headers $HeaderParameters `
-ErrorAction Stop `
@Params
return @{ return @{
Response = $Response Response = $Response
@ -138,12 +136,8 @@ function Invoke-ApiClient {
} }
} else { } else {
$Params.Body = $RequestBody $Params.Body = $RequestBody
$Response = Invoke-WebRequest -Uri $UriBuilder.Uri ` $Params.UseBasicParsing = $true
-Method $Method ` $Response = Invoke-WebRequest @Params
-Headers $HeaderParameters `
-ErrorAction Stop `
-UseBasicParsing `
@Params
return @{ return @{
Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"] Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"]

View File

@ -117,8 +117,12 @@ function Invoke-PSApiClient {
} }
} }
# Use splatting to pass optional parameters # Use splatting to pass parameters
$Params = @{} $Params = @{}
$Params.Uri = $UriBuilder.Uri
$Params.Method = $Method
$Params.Headers = $HeaderParameters
$Params.ErrorAction = 'Stop'
if ($SkipCertificateCheck -eq $true) { if ($SkipCertificateCheck -eq $true) {
$Params.SkipCertificateCheck = $true $Params.SkipCertificateCheck = $true
} }
@ -126,7 +130,9 @@ function Invoke-PSApiClient {
$Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri) $Params.Proxy = $Configuration["Proxy"].GetProxy($UriBuilder.Uri)
$Params.ProxyUseDefaultCredentials = $true $Params.ProxyUseDefaultCredentials = $true
} }
if ($Multipart) {
# Invoke request
if ($MultiPart) {
if ($PSVersionTable.PSVersion.Major -eq 5) { if ($PSVersionTable.PSVersion.Major -eq 5) {
# Preset null return values as not supported by Invoke-RestMethod on PS5 # Preset null return values as not supported by Invoke-RestMethod on PS5
$ResponseHeaders = $null $ResponseHeaders = $null
@ -136,16 +142,8 @@ function Invoke-PSApiClient {
$Params.ResponseHeadersVariable = "ResponseHeaders" $Params.ResponseHeadersVariable = "ResponseHeaders"
$Params.StatusCodeVariable = "ResponseStatusCode" $Params.StatusCodeVariable = "ResponseStatusCode"
} }
}
# Invoke request
if ($MultiPart) {
$Params.Form = $FormParameters $Params.Form = $FormParameters
$Response = Invoke-RestMethod -Uri $UriBuilder.Uri ` $Response = Invoke-RestMethod @Params
-Method $Method `
-Headers $HeaderParameters `
-ErrorAction Stop `
@Params
return @{ return @{
Response = $Response Response = $Response
@ -154,12 +152,8 @@ function Invoke-PSApiClient {
} }
} else { } else {
$Params.Body = $RequestBody $Params.Body = $RequestBody
$Response = Invoke-WebRequest -Uri $UriBuilder.Uri ` $Params.UseBasicParsing = $true
-Method $Method ` $Response = Invoke-WebRequest @Params
-Headers $HeaderParameters `
-ErrorAction Stop `
-UseBasicParsing `
@Params
return @{ return @{
Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"] Response = DeserializeResponse -Response $Response.Content -ReturnType $ReturnType -ContentTypes $Response.Headers["Content-Type"]