Blame view
sources/lib/public/irequest.php
3.65 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 |
|
|
31b7f2792
|
57 |
function getHeader($name); |
|
03e52840d
|
58 59 60 |
/** * Lets you access post and get parameters by the index |
|
31b7f2792
|
61 62 |
* In case of json requests the encoded json body is accessed * |
|
03e52840d
|
63 64 65 66 67 68 69 70 71 |
* @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
|
72 |
public function getParam($key, $default = null); |
|
03e52840d
|
73 74 75 |
/** * Returns all params that were received, be it from the request |
|
31b7f2792
|
76 77 |
* * (as GET or POST) or through the URL by the route |
|
03e52840d
|
78 79 |
* @return array the array with all parameters */ |
|
31b7f2792
|
80 |
public function getParams(); |
|
03e52840d
|
81 82 83 |
/** * Returns the method of the request |
|
31b7f2792
|
84 |
* |
|
03e52840d
|
85 86 |
* @return string the method of the request (POST, GET, etc) */ |
|
31b7f2792
|
87 |
public function getMethod(); |
|
03e52840d
|
88 89 90 |
/** * Shortcut for accessing an uploaded file through the $_FILES array |
|
31b7f2792
|
91 |
* |
|
03e52840d
|
92 93 94 |
* @param string $key the key that will be taken from the $_FILES array * @return array the file in the $_FILES element */ |
|
31b7f2792
|
95 |
public function getUploadedFile($key); |
|
03e52840d
|
96 97 98 |
/** * Shortcut for getting env variables |
|
31b7f2792
|
99 |
* |
|
03e52840d
|
100 101 102 |
* @param string $key the key that will be taken from the $_ENV array * @return array the value in the $_ENV element */ |
|
31b7f2792
|
103 |
public function getEnv($key); |
|
03e52840d
|
104 |
|
|
03e52840d
|
105 106 107 |
/** * Shortcut for getting cookie variables |
|
31b7f2792
|
108 |
* |
|
03e52840d
|
109 110 111 |
* @param string $key the key that will be taken from the $_COOKIE array * @return array the value in the $_COOKIE element */ |
|
31b7f2792
|
112 |
function getCookie($key); |
|
03e52840d
|
113 |
|
|
31b7f2792
|
114 115 116 117 118 |
/** * Checks if the CSRF check was correct * @return bool true if CSRF check passed */ public function passesCSRFCheck(); |
|
03e52840d
|
119 |
} |