Completed
Push — main ( d84a15...26c7b4 )
by
unknown
04:34
created

SimpleRequest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 48
c 0
b 0
f 0
wmc 4
lcom 1
cbo 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 2
A getParams() 0 3 1
A getHeaders() 0 3 1
1
<?php
2
3
namespace Addwiki\Mediawiki\Api\Client;
4
5
use InvalidArgumentException;
6
7
/**
8
 * Please consider using a FluentRequest object
9
 *
10
 * @since 0.2
11
 *
12
 * @author Addshore
13
 */
14
class SimpleRequest implements Request {
15
16
	/**
17
	 * @var string
18
	 */
19
	private $action;
20
21
	/**
22
	 * @var array
23
	 */
24
	private $params = [];
25
26
	/**
27
	 * @var array
28
	 */
29
	private $headers = [];
30
31
	/**
32
	 * @param string $action The API action.
33
	 * @param array $params The parameters for the action.
34
	 * @param array $headers Any extra HTTP headers to send.
35
	 *
36
	 * @throws InvalidArgumentException
37
	 */
38
	public function __construct( $action, array $params = [], array $headers = [] ) {
39
		if ( !is_string( $action ) ) {
40
			throw new InvalidArgumentException( '$action must be string' );
41
		}
42
		$this->action = $action;
43
		$this->params = $params;
44
		$this->headers = $headers;
45
	}
46
47
	/**
48
	 * @return string[]
49
	 */
50
	public function getParams() {
51
		return array_merge( [ 'action' => $this->action ], $this->params );
52
	}
53
54
	/**
55
	 * @return string[]
56
	 */
57
	public function getHeaders() {
58
		return $this->headers;
59
	}
60
61
}
62