[FEATURE] Added more features to Response class.

This commit is contained in:
Simon Sessingø
2015-10-22 21:42:33 +02:00
parent f5597c24ce
commit b37c73d5dd
+53 -3
View File
@@ -21,7 +21,7 @@ class Response {
* @param string $url * @param string $url
*/ */
public function redirect($url) { public function redirect($url) {
header('location: ' . $url); $this->header('Location: ' . $url);
die(); die();
} }
@@ -29,9 +29,59 @@ class Response {
$this->redirect(url()); $this->redirect(url());
} }
/**
* Add http authorisation
* @param string $name
* @return self $this
*/
public function auth($name = '') { public function auth($name = '') {
header('WWW-Authenticate: Basic realm="' . $name . '"'); $this->headers([
header('HTTP/1.0 401 Unauthorized'); 'WWW-Authenticate: Basic realm="' . $name . '"',
'HTTP/1.0 401 Unauthorized'
]);
return $this;
}
public function cache($duration = 2592000) {
$this->headers([
'Cache-Control: public,max-age='.$duration.',must-revalidate',
'Expires: '.gmdate('D, d M Y H:i:s',(time()+$duration)).' GMT',
'Last-modified: '.gmdate('D, d M Y H:i:s',time()).' GMT'
]);
return $this;
}
/**
* Json encode array
* @param array $value
* @return self $this
*/
public function json(array $value) {
$this->header('Content-type: application/json');
echo json_encode($value);
return $this;
}
/**
* Add header to response
* @param string $value
* @return self $this
*/
public function header($value) {
header($value);
return $this;
}
/**
* Add multiple headers to response
* @param array $headers
* @return self $this
*/
public function headers(array $headers) {
foreach($headers as $header) {
header($header);
}
return $this;
} }
} }