forked from graciousagency/magento-robin-integration
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRequestFailed.php
executable file
·42 lines (32 loc) · 1.1 KB
/
RequestFailed.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
class Robinhq_Hooks_Model_Exception_RequestFailed
{
/**
* Get throwable exception
*
* @param string $statusCode
* @return Robinhq_Hooks_Model_Exception_Abstract
*/
public static function factory($statusCode)
{
/** @var Robinhq_Hooks_Model_Robin_StatusCode $statusCode */
$statusCodes = Mage::getModel('robinhq_hooks/robin_statusCode');
switch ($statusCode) {
case $statusCodes::RATE_LIMIT_EXCEEDED:
$errorModel = 'rateLimitReachedException';
break;
case $statusCodes::BAD_REQUEST:
$errorModel = 'badRequestException';
break;
case $statusCodes::UNAUTHORIZED:
$errorModel = 'unauthorizedException';
break;
case $statusCodes::INTERNAL_SERVER_ERROR:
$errorModel = 'internalServerErrorException';
break;
default:
$errorModel = 'unknownStatusCodeException';
}
return Mage::getModel('robinhq_hooks/exception_' . $errorModel, '');
}
}