Completed
Push — master ( 9180ab...40753a )
by Josh
16:07
created

Http   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 25
c 0
b 0
f 0
wmc 4
lcom 0
cbo 3
ccs 6
cts 6
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getClient() 0 4 2
A getCachingClient() 0 7 2
1
<?php
2
3
/**
4
* @package   s9e\TextFormatter
5
* @copyright Copyright (c) 2010-2018 The s9e Authors
6
* @license   http://www.opensource.org/licenses/mit-license.php The MIT License
7
*/
8
namespace s9e\TextFormatter\Utils;
9
10
use s9e\TextFormatter\Utils\Http\Clients\Cached;
11
use s9e\TextFormatter\Utils\Http\Clients\Curl;
12
use s9e\TextFormatter\Utils\Http\Clients\Native;
13
14
abstract class Http
15
{
16
	/**
17
	* Instantiate and return an HTTP client
18
	*
19
	* @return Http\Client
20
	*/
21 2
	public static function getClient()
22
	{
23 2
		return (extension_loaded('curl')) ? new Curl : new Native;
24
	}
25
	/**
26
	* Instantiate and return a caching HTTP client
27
	*
28
	* @param  string $cacheDir
29
	* @return Cached
30
	*/
31 1
	public static function getCachingClient($cacheDir = null)
32
	{
33 1
		$client = new Cached(self::getClient());
34 1
		$client->cacheDir = (isset($cacheDir)) ? $cacheDir : sys_get_temp_dir();
35
36 1
		return $client;
37
	}
38
}