Passed
Branch master (2530fd)
by Kazi Mainuddin
03:16
created

Request   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 57
c 0
b 0
f 0
wmc 3
lcom 1
cbo 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 22 1
A getStatusCode() 0 4 1
A getContentType() 0 4 1
1
<?php
2
namespace Tzsk\ScrapePod\Helpers;
3
4
5
class Request
6
{
7
	/**
8
	 * @var string
9
	 */
10
	private $contentType;
11
12
	/**
13
	 * @var int
14
	 */
15
	private $statusCode;
16
17
	/**
18
	 * @param string $url
19
	 * @param array $options
20
	 *
21
	 * @return string
22
	 */
23
	public function create($url, array $options = [])
24
	{
25
		$request = curl_init($url);
26
27
		$default_options = [
28
           CURLOPT_FAILONERROR    => true,
29
           CURLOPT_FOLLOWLOCATION => true,
30
           CURLOPT_RETURNTRANSFER => true,
31
           CURLOPT_TIMEOUT        => 15,
32
           CURLOPT_SSL_VERIFYPEER => 0,
33
           CURLINFO_HEADER_OUT    => true
34
       ] + $options;
35
36
		curl_setopt_array($request, $default_options);
37
38
		$result = curl_exec($request);
39
		$this->statusCode = curl_getinfo($request, CURLINFO_HTTP_CODE);
40
		$this->contentType = curl_getinfo($request, CURLINFO_CONTENT_TYPE);
41
		curl_close($request);
42
43
		return $result;
44
	}
45
46
	/**
47
	 * @return int
48
	 */
49
	public function getStatusCode()
50
	{
51
		return $this->statusCode;
52
	}
53
54
	/**
55
	 * @return string
56
	 */
57
	public function getContentType()
58
	{
59
		return $this->contentType;
60
	}
61
}