source: sandbox/webservice/api/rest/core/Errors.php @ 6019

Revision 6019, 2.6 KB checked in by niltonneto, 12 years ago (diff)

Ticket #2507 - Modificada implementação para alinhamento com projeto de camada REST.

Line 
1<?php
2
3final class Errors {
4               
5        // Errors from -32000 to -32099 => Server error :Reserved for implementation-defined server-errors.
6        const E_PARSE_ERROR             = "-32700";     
7        const E_INVALID_REQUEST         = "-32600";
8        const E_METHOD_NOT_FOUND        = "-32601";
9        const E_INVALID_PARAMS          = "-32602";
10        const E_INTERNAL_ERROR          = "-32603";     
11
12        const E_HTTP_NOT_FOUND          = "404";
13        const E_UNKNOWN_ERROR           = "500";
14       
15       
16        // Errors inherited from Expresso Application. 
17        const LOGIN_SUCCESS_LOGOUT                      = "1";
18        const LOGIN_SESSION_EXPIRED             = "2";
19        const LOGIN_NOT_LOGGED_IN                       = "3";
20        const LOGIN_COOKIES_REQUIRED            = "4";
21        const LOGIN_BADLOGIN                            = "5";
22        const LOGIN_PASSWORD_EXPIRED            = "6";
23        const LOGIN_AUTH_INVALID                        = "7";
24        const LOGIN_SESSION_NOT_VERIFIED        = "10";
25        const LOGIN_ACCOUNT_EXPIRED             = "98";
26        const LOGIN_LOGIN_BLOCKED                       = "99";
27        const LOGIN_INVALID_LOGIN                       = "200";
28       
29
30        const CATALOG_MIN_ARGUMENT_SEARCH       = "1001";       
31       
32        static private $reservedErrors = array (                       
33                self::E_PARSE_ERROR             => "Parse error",
34                self::E_INVALID_REQUEST         => "Invalid Request",
35                self::E_METHOD_NOT_FOUND        => "Method not found",
36                self::E_INVALID_PARAMS          => "Invalid params",
37                self::E_INTERNAL_ERROR          => "Internal error",
38                self::E_HTTP_NOT_FOUND          => 'A resource matching URI "%1" was not found',
39                self::E_UNKNOWN_ERROR           => "HTTP Unknown error"
40        );
41       
42       
43        // Errors inherited from Expresso Application.
44        static private $applicationErrors = array(                     
45
46                self::LOGIN_SUCCESS_LOGOUT                      => "You have been successfully logged out",
47                self::LOGIN_SESSION_EXPIRED             => "Sorry, your login has expired",
48                self::LOGIN_NOT_LOGGED_IN                       => "You are not logged in",
49                self::LOGIN_COOKIES_REQUIRED            => "Cookies are required to login to this site.",
50                self::LOGIN_BADLOGIN                            => "bad login or password",
51                self::LOGIN_PASSWORD_EXPIRED            => "Your password has expired, and you do not have access to change it",
52                self::LOGIN_AUTH_INVALID                        => "Your auth is invalid",
53                self::LOGIN_SESSION_NOT_VERIFIED        => "Your session could not be verified.",
54                self::LOGIN_ACCOUNT_EXPIRED             => "Account is expired",
55                self::LOGIN_LOGIN_BLOCKED                       => "Blocked, too many attempts!",
56                self::LOGIN_INVALID_LOGIN                       => "Bad login or password",
57                self::CATALOG_MIN_ARGUMENT_SEARCH       => "Your search argument must be longer than %1 characters."                                                   
58        );
59               
60        static public function get($code, $arg){                               
61                $errors = self::$reservedErrors + self::$applicationErrors;
62                $message = $errors[$code];
63                if($arg){
64                        $message = str_replace("%1", $arg, $message);
65                }
66                if(!$message){
67                        $message = $errors[self::E_UNKNOWN_ERROR];
68                }
69               
70                return array ("code" => $code, "message" => $message);                         
71        }                       
72               
73}
Note: See TracBrowser for help on using the repository browser.