Converted helper methods to public and static.

pull/125/head
Mike Cao 11 years ago
parent 041070b44e
commit 0f49cc7abc

@ -1 +1 @@
1.1.7 1.1.8

@ -138,24 +138,24 @@ class Request {
// Default properties // Default properties
if (empty($config)) { if (empty($config)) {
$config = array( $config = array(
'url' => $this->getVar('REQUEST_URI', '/'), 'url' => self::getVar('REQUEST_URI', '/'),
'base' => str_replace(array('\\',' '), array('/','%20'), dirname($this->getVar('SCRIPT_NAME'))), 'base' => str_replace(array('\\',' '), array('/','%20'), dirname(self::getVar('SCRIPT_NAME'))),
'method' => $this->getMethod(), 'method' => self::getMethod(),
'referrer' => $this->getVar('HTTP_REFERER'), 'referrer' => self::getVar('HTTP_REFERER'),
'ip' => $this->getVar('REMOTE_ADDR'), 'ip' => self::getVar('REMOTE_ADDR'),
'ajax' => $this->getVar('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest', 'ajax' => self::getVar('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest',
'scheme' => $this->getVar('SERVER_PROTOCOL', 'HTTP/1.1'), 'scheme' => self::getVar('SERVER_PROTOCOL', 'HTTP/1.1'),
'user_agent' => $this->getVar('HTTP_USER_AGENT'), 'user_agent' => self::getVar('HTTP_USER_AGENT'),
'body' => file_get_contents('php://input'), 'body' => file_get_contents('php://input'),
'type' => $this->getVar('CONTENT_TYPE'), 'type' => self::getVar('CONTENT_TYPE'),
'length' => $this->getVar('CONTENT_LENGTH', 0), 'length' => self::getVar('CONTENT_LENGTH', 0),
'query' => new Collection($_GET), 'query' => new Collection($_GET),
'data' => new Collection($_POST), 'data' => new Collection($_POST),
'cookies' => new Collection($_COOKIE), 'cookies' => new Collection($_COOKIE),
'files' => new Collection($_FILES), 'files' => new Collection($_FILES),
'secure' => $this->getVar('HTTPS', 'off') != 'off', 'secure' => self::getVar('HTTPS', 'off') != 'off',
'accept' => $this->getVar('HTTP_ACCEPT'), 'accept' => self::getVar('HTTP_ACCEPT'),
'proxy_ip' => $this->getProxyIpAddress() 'proxy_ip' => self::getProxyIpAddress()
); );
} }
@ -168,10 +168,12 @@ class Request {
* @param array $properties Array of request properties * @param array $properties Array of request properties
*/ */
public function init($properties = array()) { public function init($properties = array()) {
// Set all the defined properties
foreach ($properties as $name => $value) { foreach ($properties as $name => $value) {
$this->$name = $value; $this->$name = $value;
} }
// Get the requested URL without the base directory
if ($this->base != '/' && strlen($this->base) > 0 && strpos($this->url, $this->base) === 0) { if ($this->base != '/' && strlen($this->base) > 0 && strpos($this->url, $this->base) === 0) {
$this->url = substr($this->url, strlen($this->base)); $this->url = substr($this->url, strlen($this->base));
} }
@ -179,20 +181,19 @@ class Request {
if (empty($this->url)) { if (empty($this->url)) {
$this->url = '/'; $this->url = '/';
} }
// Merge URL query parameters with $_GET
else { else {
$_GET += self::parseQuery($this->url); $_GET += self::parseQuery($this->url);
$this->query->setData($_GET); $this->query->setData($_GET);
} }
if (strpos($this->type, 'application/json') === 0 && $this->body != '') { // Check for JSON input
$this->json = json_decode($this->body, true); $json = array();
} else { if ($this->body != '' && strpos($this->type, 'application/json') === 0) {
$this->json = array(); $json = json_decode($this->body, true);
} }
$this->json = new Collection($json);
$this->json = new Collection($this->json);
} }
/** /**
@ -217,7 +218,7 @@ class Request {
* *
* @return string * @return string
*/ */
private function getMethod() { public static function getMethod() {
if (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) { if (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
return $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']; return $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'];
} }
@ -225,7 +226,7 @@ class Request {
return $_REQUEST['_method']; return $_REQUEST['_method'];
} }
return $this->getVar('REQUEST_METHOD', 'GET'); return self::getVar('REQUEST_METHOD', 'GET');
} }
/** /**
@ -233,7 +234,7 @@ class Request {
* *
* @return string IP address * @return string IP address
*/ */
private function getProxyIpAddress() { public static function getProxyIpAddress() {
static $forwarded = array( static $forwarded = array(
'HTTP_CLIENT_IP', 'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED_FOR',
@ -264,7 +265,7 @@ class Request {
* @param string $default Default value to substitute * @param string $default Default value to substitute
* @return string Server variable value * @return string Server variable value
*/ */
public function getVar($var, $default = '') { public static function getVar($var, $default = '') {
return isset($_SERVER[$var]) ? $_SERVER[$var] : $default; return isset($_SERVER[$var]) ? $_SERVER[$var] : $default;
} }
} }

Loading…
Cancel
Save