Skip to content

Latest commit

 

History

History
92 lines (64 loc) · 1.9 KB

File metadata and controls

92 lines (64 loc) · 1.9 KB

ServiceUnavailableException

Namespace: BhrSdk\Exceptions
Extends: ServerException
HTTP Status Code: 503

Description

Service unavailable

Usage

try {
    // API call that might fail with 503 status code
} catch (BhrSdk\Exceptions\ServiceUnavailableException $e) {
    // Handle the exception
    echo $e->getMessage();
    
    // Access additional information
    $causes = $e->getPotentialCauses();
    $tips = $e->getDebuggingTips();
    
    // Access response data
    $responseHeaders = $e->getResponseHeaders();
    $responseBody = $e->getResponseBody();
}

Potential Causes

  • Server is temporarily overloaded
  • Server is under maintenance
  • Service is temporarily down

Debugging Tips

  • Check the Retry-After header if provided
  • Consider adding this status code to the list of retryable status codes, and increase the number of retries
  • Consider implementing a circuit breaker pattern

Constructor

public function __construct(
    string $message,
    array $responseHeaders = [],
    $responseBody = null
)

Parameters

Name Type Description
$message string The error message
$responseHeaders array HTTP response headers from the API call
$responseBody mixed HTTP response body from the API call

Methods

getPotentialCauses()

Returns an array of potential causes for this exception.

public function getPotentialCauses(): array

getDebuggingTips()

Returns an array of debugging tips for this exception.

public function getDebuggingTips(): array

getResponseHeaders()

Returns the HTTP response headers from the API call that triggered this exception.

public function getResponseHeaders(): array

getResponseBody()

Returns the HTTP response body from the API call that triggered this exception.

public function getResponseBody()