forked from sinacms/MultiHttp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHttp.php
More file actions
executable file
·105 lines (94 loc) · 2.22 KB
/
Http.php
File metadata and controls
executable file
·105 lines (94 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
/**
*
* @author qiangjian@staff.sina.com.cn sunsky303@gmail.com
* Date: 2017/6/16
* Time: 10:20
* @version $Id: $
* @since 1.0
* @copyright Sina Corp.
*/
namespace MultiHttp;
/**
* Class Http
* @package MultiHttp
*/
abstract class Http
{
const HEAD = 'HEAD';
const GET = 'GET';
const POST = 'POST';
const PUT = 'PUT';
const DELETE = 'DELETE';
const PATCH = 'PATCH';
const OPTIONS = 'OPTIONS';
const TRACE = 'TRACE';
public static $methods = array(
'HEAD' => self::HEAD,
'GET' => self::GET,
'POST' => self::POST,
'PUT' => self::PUT,
'DELETE' => self::DELETE,
'PATCH' => self::PATCH,
'OPTIONS' => self::OPTIONS,
'TRACE' => self::TRACE,
);
/**
* @param $uri
* @param null $payload
* @param array $options
* @return mixed
*/
abstract function post($uri, $payload = null, array $options = array());
/**
* @param $uri
* @param null $payload
* @param array $options
* @return mixed
*/
abstract function patch($uri, $payload = null, array $options = array());
/**
* @param $uri
* @param null $payload
* @param array $options
* @return mixed
*/
abstract function put($uri, $payload = null, array $options = array());
/**
* @param $uri
* @param array $options
* @return mixed
*/
abstract function get($uri, array $options = array());
/**
* @param $uri
* @param array $options
* @return mixed
*/
abstract function head($uri, array $options = array());
/**
* @param $uri
* @param array $options
* @return mixed
*/
abstract function delete($uri, array $options = array());
/**
* @param $uri
* @param array $options
* @return mixed
*/
abstract function options($uri, array $options = array());
/**
* @param $uri
* @param array $options
* @return mixed
*/
abstract function trace($uri, array $options = array());
/**
* @param $method
* @return bool
*/
public static function hasBody($method){
return in_array($method, array(self::POST, self::PUT, self::PATCH, self::OPTIONS));
}
}