Introducing IRequest
This commit is contained in:
parent
6e1946ab00
commit
f115b94927
|
@ -22,12 +22,14 @@
|
||||||
|
|
||||||
namespace OC\AppFramework\Http;
|
namespace OC\AppFramework\Http;
|
||||||
|
|
||||||
|
use OCP\Core\IRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class for accessing variables in the request.
|
* Class for accessing variables in the request.
|
||||||
* This class provides an immutable object with request variables.
|
* This class provides an immutable object with request variables.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class Request implements \ArrayAccess, \Countable {
|
class Request implements \ArrayAccess, \Countable, IRequest {
|
||||||
|
|
||||||
protected $items = array();
|
protected $items = array();
|
||||||
protected $allowedKeys = array(
|
protected $allowedKeys = array(
|
||||||
|
@ -214,4 +216,111 @@ class Request implements \ArrayAccess, \Countable {
|
||||||
return null;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
Loading…
Reference in New Issue