Private/Resolve-LMDebugInfo.ps1
<# .SYNOPSIS Function to write debug information. .DESCRIPTION The Resolve-LMDebugInfo function is used to write debug information to the console. It displays the invoked command, bound parameters, invoked URL, request payload, and request headers. .PARAMETER Url The URL that was invoked. .PARAMETER Headers The headers used in the request. .PARAMETER Command The command that was invoked. .PARAMETER Payload The payload used in the request. .EXAMPLE Resolve-LMDebugInfo -Url "https://example.com/api" -Headers @{ "Authorization" = "Bearer token" } -Command Get-LMDevice -Payload "{'key': 'value'}" #> Function Resolve-LMDebugInfo { [CmdletBinding()] Param ( $Url, $Headers, $Command, $Payload ) Write-Debug "Invoked Command: $($Command.MyCommand)" Write-Debug "Bound Parameters: $($Command.BoundParameters.GetEnumerator() | ForEach-Object {"[" + $($_.Key) + ":" + $($_.Value) + "]"})" Write-Debug "Invoked URL: $Url" If ($Payload) { Write-Debug "Request Payload: `n$Payload" } Write-Debug "Request Headers: $($Headers.GetEnumerator() | ForEach-Object {"[" + $($_.Key) + ":" + $(If ($_.Value.length -gt 25) { $_.Value.substring(0, 25) + "...]" } Else { $($_.Value) + "]" })})" } |