Skip to content

Commit 85f459c

Browse files
committed
1 parent 83f4c7e commit 85f459c

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed

src/HTTPClientTrait.php

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
<?php
2+
/**
3+
* Trait HTTPClientTrait
4+
*
5+
* @filesource HTTPClientTrait.php
6+
* @created 28.01.2018
7+
* @package chillerlan\HTTP
8+
* @author smiley <smiley@chillerlan.net>
9+
* @copyright 2018 smiley
10+
* @license MIT
11+
*/
12+
13+
namespace chillerlan\HTTP;
14+
15+
trait HTTPClientTrait{
16+
17+
/**
18+
* @var \chillerlan\HTTP\HTTPClientInterface
19+
*/
20+
private $http;
21+
22+
/**
23+
* @param \chillerlan\HTTP\HTTPClientInterface $http
24+
*
25+
* @return $this
26+
*/
27+
protected function setHTTPClient(HTTPClientInterface $http){
28+
$this->http = $http;
29+
30+
return $this;
31+
}
32+
33+
/**
34+
* @param string $url
35+
* @param array|null $params
36+
* @param string|null $method
37+
* @param null $body
38+
* @param array|null $headers
39+
*
40+
* @return \chillerlan\HTTP\HTTPResponseInterface
41+
*/
42+
protected function httpRequest(string $url, array $params = null, string $method = null, $body = null, array $headers = null):HTTPResponseInterface{
43+
return $this->http->request($url, $params, $method, $body, $headers);
44+
}
45+
46+
/**
47+
* @param string $url
48+
* @param array|null $params
49+
* @param array|null $headers
50+
*
51+
* @return \chillerlan\HTTP\HTTPResponseInterface
52+
*/
53+
protected function httpDELETE(string $url, array $params = null, array $headers = null):HTTPResponseInterface{
54+
return $this->http->request($url, $params, 'DELETE', null, $headers);
55+
}
56+
57+
/**
58+
* @param string $url
59+
* @param array|null $params
60+
* @param array|null $headers
61+
*
62+
* @return \chillerlan\HTTP\HTTPResponseInterface
63+
*/
64+
protected function httpGET(string $url, array $params = null, array $headers = null):HTTPResponseInterface{
65+
return $this->http->request($url, $params, 'GET', null, $headers);
66+
}
67+
68+
/**
69+
* @param string $url
70+
* @param array|null $params
71+
* @param null $body
72+
* @param array|null $headers
73+
*
74+
* @return \chillerlan\HTTP\HTTPResponseInterface
75+
*/
76+
protected function httpPATCH(string $url, array $params = null, $body = null, array $headers = null):HTTPResponseInterface{
77+
return $this->http->request($url, $params, 'PATCH', $body, $headers);
78+
}
79+
80+
/**
81+
* @param string $url
82+
* @param array|null $params
83+
* @param null $body
84+
* @param array|null $headers
85+
*
86+
* @return \chillerlan\HTTP\HTTPResponseInterface
87+
*/
88+
protected function httpPOST(string $url, array $params = null, $body = null, array $headers = null):HTTPResponseInterface{
89+
return $this->http->request($url, $params, 'POST', $body, $headers);
90+
}
91+
92+
/**
93+
* @param string $url
94+
* @param array|null $params
95+
* @param null $body
96+
* @param array|null $headers
97+
*
98+
* @return \chillerlan\HTTP\HTTPResponseInterface
99+
*/
100+
protected function httpPUT(string $url, array $params = null, $body = null, array $headers = null):HTTPResponseInterface{
101+
return $this->http->request($url, $params, 'PUT', $body, $headers);
102+
}
103+
104+
}

0 commit comments

Comments
 (0)