summaryrefslogtreecommitdiffstats
path: root/lib/public/irequest.php
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-08-31 21:34:29 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-08-31 21:34:29 +0200
commit206f83941b26b16f89e695ae84b998e9cf11132a (patch)
treee19b0f42c4edda179d1f684694653ddf973050af /lib/public/irequest.php
parent97bdf008b1cefaa092e23fc5a9bad787e755ed77 (diff)
downloadnextcloud-server-206f83941b26b16f89e695ae84b998e9cf11132a.tar.gz
nextcloud-server-206f83941b26b16f89e695ae84b998e9cf11132a.zip
move new interfaces into lib/public and OCP
Diffstat (limited to 'lib/public/irequest.php')
-rw-r--r--lib/public/irequest.php105
1 files changed, 105 insertions, 0 deletions
diff --git a/lib/public/irequest.php b/lib/public/irequest.php
new file mode 100644
index 00000000000..cd39855950b
--- /dev/null
+++ b/lib/public/irequest.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Thomas Müller
+ * @copyright 2013 Thomas Müller deepdiver@owncloud.com
+ *
+ * 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/>.
+ *
+ */
+
+namespace OCP;
+
+
+interface IRequest {
+
+ function getHeader($name);
+
+ /**
+ * Lets you access post and get parameters by the index
+ * In case of json requests the encoded json body is accessed
+ *
+ * @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
+ */
+ public function getParam($key, $default = null);
+
+
+ /**
+ * Returns all params that were received, be it from the request
+ *
+ * (as GET or POST) or through the URL by the route
+ * @return array the array with all parameters
+ */
+ public function getParams();
+
+ /**
+ * Returns the method of the request
+ *
+ * @return string the method of the request (POST, GET, etc)
+ */
+ public function getMethod();
+
+ /**
+ * Shortcut for accessing an uploaded file through the $_FILES array
+ *
+ * @param string $key the key that will be taken from the $_FILES array
+ * @return array the file in the $_FILES element
+ */
+ public function getUploadedFile($key);
+
+
+ /**
+ * Shortcut for getting env variables
+ *
+ * @param string $key the key that will be taken from the $_ENV array
+ * @return array the value in the $_ENV element
+ */
+ public function getEnv($key);
+
+
+ /**
+ * Shortcut for getting session variables
+ *
+ * @param string $key the key that will be taken from the $_SESSION array
+ * @return array the value in the $_SESSION element
+ */
+ function getSession($key);
+
+
+ /**
+ * Shortcut for getting cookie variables
+ *
+ * @param string $key the key that will be taken from the $_COOKIE array
+ * @return array the value in the $_COOKIE element
+ */
+ function getCookie($key);
+
+
+ /**
+ * Returns the request body content.
+ *
+ * @param Boolean $asResource If true, a resource will be returned
+ * @return string|resource The request body content or a resource to read the body stream.
+ * @throws \LogicException
+ */
+ function getContent($asResource = false);
+}