diff --git a/lib/appframework/http/request.php b/lib/appframework/http/request.php
index 7d024c8605fa90c2ca1b2e0ceb619fcadf1370ff..ab72a8db697fb6d658e3d1ee464f0c7cc6875f0e 100644
--- a/lib/appframework/http/request.php
+++ b/lib/appframework/http/request.php
@@ -22,12 +22,14 @@
 
 namespace OC\AppFramework\Http;
 
+use OCP\Core\IRequest;
+
 /**
  * Class for accessing variables in the request.
  * This class provides an immutable object with request variables.
  */
 
-class Request implements \ArrayAccess, \Countable {
+class Request implements \ArrayAccess, \Countable, IRequest {
 
 	protected $items = array();
 	protected $allowedKeys = array(
@@ -214,4 +216,111 @@ class Request implements \ArrayAccess, \Countable {
 		return null;
 	}
 
+	/**
+	 * 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)
+	{
+		return isset($this->parameters[$key])
+			? $this->parameters[$key]
+			: $default;
+	}
+
+	/**
+	 * Returns all params that were received, be it from the request
+	 * (as GET or POST) or throuh the URL by the route
+	 * @return array the array with all parameters
+	 */
+	public function getParams()
+	{
+		return $this->parameters;
+	}
+
+	/**
+	 * Returns the method of the request
+	 * @return string the method of the request (POST, GET, etc)
+	 */
+	public function getMethod()
+	{
+		return $this->method;
+	}
+
+	/**
+	 * 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)
+	{
+		return isset($this->files[$key]) ? $this->files[$key] : null;
+	}
+
+	/**
+	 * 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)
+	{
+		return isset($this->env[$key]) ? $this->env[$key] : null;
+	}
+
+	/**
+	 * 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)
+	{
+		return isset($this->session[$key]) ? $this->session[$key] : null;
+	}
+
+	/**
+	 * 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)
+	{
+		return isset($this->cookies[$key]) ? $this->cookies[$key] : null;
+	}
+
+	/**
+	 * 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)
+	{
+		return null;
+//		if (false === $this->content || (true === $asResource && null !== $this->content)) {
+//			throw new \LogicException('getContent() can only be called once when using the resource return type.');
+//		}
+//
+//		if (true === $asResource) {
+//			$this->content = false;
+//
+//			return fopen('php://input', 'rb');
+//		}
+//
+//		if (null === $this->content) {
+//			$this->content = file_get_contents('php://input');
+//		}
+//
+//		return $this->content;
+	}
 }
diff --git a/lib/public/core/irequest.php b/lib/public/core/irequest.php
new file mode 100644
index 0000000000000000000000000000000000000000..f283e9cb25cfd80e2a22842a0c4486a04e66b102
--- /dev/null
+++ b/lib/public/core/irequest.php
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Created by JetBrains PhpStorm.
+ * User: deepdiver
+ * Date: 20.08.13
+ * Time: 16:15
+ * To change this template use File | Settings | File Templates.
+ */
+
+namespace OCP\Core;
+
+
+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 throuh 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);
+}