1 <?php
 2  3  4 
 5 namespace Team3\PayU\Communication\HttpStatusParser;
 6 
 7 use Buzz\Message\Response;
 8 
 9 10 11 
12 class HttpStatusParser implements HttpStatusParserInterface
13 {
14     const SUCCESS_CODE = 200;
15     const REDIRECT_CODE = 302;
16 
17     18 19 20 21 
22     public function parse(Response $curlResponse)
23     {
24         $statusCode = $curlResponse->getStatusCode();
25 
26         if ($this->shouldThrowException($statusCode)) {
27             throw new HttpStatusParserException(
28                 $curlResponse->getContent(),
29                 $statusCode
30             );
31         }
32     }
33 
34     35 36 37 38 
39     private function shouldThrowException($statusCode)
40     {
41         return self::SUCCESS_CODE !== $statusCode
42             && self::REDIRECT_CODE !== $statusCode;
43     }
44 }
45