HttpRequestFactory::newNullRequest()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Onoi\HttpRequest;
4
5
use Onoi\Cache\Cache;
6
use Onoi\Cache\NullCache;
7
8
/**
9
 * @license GNU GPL v2+
10
 * @since 1.0
11
 *
12
 * @author mwjames
13
 */
14
class HttpRequestFactory {
15
16
	/**
17
	 * @var Cache
18
	 */
19
	private $cache = null;
20
21
	/**
22
	 * @since 1.0
23
	 *
24
	 * @param Cache|null $cache
25
	 */
26 10
	public function __construct( Cache $cache = null ) {
27 10
		$this->cache = $cache;
28
29 10
		if ( $this->cache === null ) {
30 8
			$this->cache = new NullCache();
31 8
		}
32 10
	}
33
34
	/**
35
	 * @since 1.0
36
	 *
37
	 * @return NullRequest
38
	 */
39 1
	public function newNullRequest() {
40 1
		return new NullRequest();
41
	}
42
43
	/**
44
	 * @since 1.0
45
	 *
46
	 * @param string|null $url
47
	 *
48
	 * @return CurlRequest
49
	 */
50 3
	public function newCurlRequest( $url = null ) {
51 3
		return new CurlRequest( curl_init( $url ) );
52
	}
53
54
	/**
55
	 * @since 1.0
56
	 *
57
	 * @param string|null $url
58
	 *
59
	 * @return CachedCurlRequest
60
	 */
61 2
	public function newCachedCurlRequest( $url = null ) {
62 2
		return new CachedCurlRequest( curl_init( $url ), $this->cache );
63
	}
64
65
	/**
66
	 * @since 1.0
67
	 *
68
	 * @return MultiCurlRequest
69
	 */
70 4
	public function newMultiCurlRequest() {
71 4
		return new MultiCurlRequest( curl_multi_init() );
72
	}
73
74
	/**
75
	 * @since 1.1
76
	 *
77
	 * @param string|null $url
78
	 *
79
	 * @return SocketRequest
80
	 */
81 2
	public function newSocketRequest( $url = null ) {
82 2
		return new SocketRequest( $url );
83
	}
84
85
}
86