Blame view
sources/lib/public/irequest.php
3.71 KB
|
03e52840d
|
1 |
<?php |
|
03e52840d
|
2 |
/** |
|
31b7f2792
|
3 |
* ownCloud |
|
03e52840d
|
4 |
* |
|
31b7f2792
|
5 6 |
* @author Thomas Müller * @copyright 2013 Thomas Müller deepdiver@owncloud.com |
|
03e52840d
|
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE * License as published by the Free Software Foundation; either * version 3 of the License, or any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. * * You should have received a copy of the GNU Affero General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * */ |
|
31b7f2792
|
22 23 24 25 26 |
/** * Public interface of ownCloud for apps to use. * Request interface * */ |
|
03e52840d
|
27 |
|
|
31b7f2792
|
28 29 30 |
// use OCP namespace for all classes that are considered public. // This means that they should be used by apps instead of the internal ownCloud classes namespace OCP; |
|
03e52840d
|
31 32 |
/** |
|
31b7f2792
|
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
* This interface provides an immutable object with with accessors to
* request variables and headers.
*
* Access request variables by method and name.
*
* Examples:
*
* $request->post['myvar']; // Only look for POST variables
* $request->myvar; or $request->{'myvar'}; or $request->{$myvar}
* Looks in the combined GET, POST and urlParams array.
*
* If you access e.g. ->post but the current HTTP request method
* is GET a \LogicException will be thrown.
*
* NOTE:
* - When accessing ->put a stream resource is returned and the accessor
* will return false on subsequent access to ->put or ->patch.
* - When accessing ->patch and the Content-Type is either application/json
* or application/x-www-form-urlencoded (most cases) it will act like ->get
* and ->post and return an array. Otherwise the raw data will be returned.
|
|
03e52840d
|
53 |
*/ |
|
03e52840d
|
54 |
|
|
31b7f2792
|
55 |
interface IRequest {
|
|
03e52840d
|
56 |
|
|
6d9380f96
|
57 58 59 60 61 |
/** * @param string $name * * @return string */ |
|
31b7f2792
|
62 |
function getHeader($name); |
|
03e52840d
|
63 64 65 |
/** * Lets you access post and get parameters by the index |
|
31b7f2792
|
66 67 |
* In case of json requests the encoded json body is accessed * |
|
03e52840d
|
68 69 70 71 72 73 74 75 76 |
* @param string $key the key which you want to access in the URL Parameter * placeholder, $_POST or $_GET array. * The priority how they're returned is the following: * 1. URL parameters * 2. POST parameters * 3. GET parameters * @param mixed $default If the key is not found, this value will be returned * @return mixed the content of the array */ |
|
31b7f2792
|
77 |
public function getParam($key, $default = null); |
|
03e52840d
|
78 79 80 |
/** * Returns all params that were received, be it from the request |
|
31b7f2792
|
81 82 |
* * (as GET or POST) or through the URL by the route |
|
03e52840d
|
83 84 |
* @return array the array with all parameters */ |
|
31b7f2792
|
85 |
public function getParams(); |
|
03e52840d
|
86 87 88 |
/** * Returns the method of the request |
|
31b7f2792
|
89 |
* |
|
03e52840d
|
90 91 |
* @return string the method of the request (POST, GET, etc) */ |
|
31b7f2792
|
92 |
public function getMethod(); |
|
03e52840d
|
93 94 95 |
/** * Shortcut for accessing an uploaded file through the $_FILES array |
|
31b7f2792
|
96 |
* |
|
03e52840d
|
97 98 99 |
* @param string $key the key that will be taken from the $_FILES array * @return array the file in the $_FILES element */ |
|
31b7f2792
|
100 |
public function getUploadedFile($key); |
|
03e52840d
|
101 102 103 |
/** * Shortcut for getting env variables |
|
31b7f2792
|
104 |
* |
|
03e52840d
|
105 106 107 |
* @param string $key the key that will be taken from the $_ENV array * @return array the value in the $_ENV element */ |
|
31b7f2792
|
108 |
public function getEnv($key); |
|
03e52840d
|
109 |
|
|
03e52840d
|
110 111 112 |
/** * Shortcut for getting cookie variables |
|
31b7f2792
|
113 |
* |
|
03e52840d
|
114 115 116 |
* @param string $key the key that will be taken from the $_COOKIE array * @return array the value in the $_COOKIE element */ |
|
31b7f2792
|
117 |
function getCookie($key); |
|
03e52840d
|
118 |
|
|
31b7f2792
|
119 120 121 122 123 |
/** * Checks if the CSRF check was correct * @return bool true if CSRF check passed */ public function passesCSRFCheck(); |
|
03e52840d
|
124 |
} |