functions/Private/ErrorHandling/Trace-MgaCatch.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function Trace-MgaCatch { param ( $Throw ) try { $WebResponse = $Throw.Exception.Response if ($WebResponse.StatusCode -eq 'TooManyRequests') { Trace-MgaThrottle -Seconds $WebResponse.Headers.retryafter.delta.Seconds } elseif ($WebResponse.StatusCode -eq 429) { Trace-MgaThrottle -Seconds $WebResponse.Headers['Retry-After'] } else { throw $Throw } } catch { throw $_ } } |