-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathRequestInterface.php
More file actions
138 lines (118 loc) · 3.33 KB
/
RequestInterface.php
File metadata and controls
138 lines (118 loc) · 3.33 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
/**
* Copyright 2021 Jeremy Presutti <Jeremy@Presutti.us>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
declare(strict_types=1);
namespace Feast\Interfaces;
use Feast\Date;
use Feast\ServiceContainer\ServiceContainerItemInterface;
use stdClass;
interface RequestInterface extends ServiceContainerItemInterface
{
final public const INTERFACE_NAME = self::class;
/**
* Clear all request arguments.
*/
public function clearArguments(): void;
/**
* Set argument {name} to {value}.
*
* @param string $name
* @param string|bool|int|float|null|array $value
*/
public function setArgument(string $name, null|string|bool|int|float|array $value): void;
/**
* Get argument value as string.
*
* @param string $name
* @param string|null $default
* @return string|null
*/
public function getArgumentString(string $name, ?string $default = null): string|null;
/**
* Get argument value as Date.
*
* @param string $name
* @return Date|null
*/
public function getArgumentDate(string $name): Date|null;
/**
* Get argument value as bool.
*
* @param string $name
* @param bool|null $default
* @return bool|null
*/
public function getArgumentBool(string $name, ?bool $default = null): bool|null;
/**
* Get argument value as int.
*
* @param string $name
* @param int|null $default
* @return int|null
*/
public function getArgumentInt(string $name, ?int $default = null): int|null;
/**
* Get argument value as float.
*
* @param string $name
* @param float|null $default
* @return float|null
*/
public function getArgumentFloat(string $name, ?float $default = null): float|null;
/**
* Get argument value as array with all values inside converted to the specified type.
*
* @param string $name
* @param array|null $default
* @param string $type
* @return array|null
*/
public function getArgumentArray(string $name, ?array $default = null, string $type = 'string'): array|null;
/**
* Get all arguments.
*/
public function getAllArguments(): stdClass;
/**
* Check whether request is a POST request.
*
* @return bool
*/
public function isPost(): bool;
/**
* Check whether request is a GET request.
*
* @return bool
*/
public function isGet(): bool;
/**
* Check whether request is a DELETE request.
*
* @return bool
*/
public function isDelete(): bool;
/**
* Check whether request is a PUT request.
*
* @return bool
*/
public function isPut(): bool;
/**
* Check whether request is a PATCH request.
*
* @return bool
*/
public function isPatch(): bool;
}