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