diff options
author | Frédéric Guillot <fguillot@users.noreply.github.com> | 2014-03-09 23:21:23 -0400 |
---|---|---|
committer | Frédéric Guillot <fguillot@users.noreply.github.com> | 2014-03-09 23:21:23 -0400 |
commit | 7749b8ed569f6d27b0bb2ed4c2040e8b61ed4422 (patch) | |
tree | ee101992e87d740bdf0362e35ea040c866986f5a /lib/response.php | |
parent | 7bd4697dfca41a21f5857f83d6b29108fafb9a1e (diff) |
Automatic actions
Diffstat (limited to 'lib/response.php')
-rw-r--r-- | lib/response.php | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/lib/response.php b/lib/response.php deleted file mode 100644 index ceaf32c5..00000000 --- a/lib/response.php +++ /dev/null @@ -1,137 +0,0 @@ -<?php - -class Response -{ - public function forceDownload($filename) - { - header('Content-Disposition: attachment; filename="'.$filename.'"'); - } - - public function status($status_code) - { - if (strpos(php_sapi_name(), 'apache') !== false) { - header('HTTP/1.0 '.$status_code); - } - else { - header('Status: '.$status_code); - } - } - - public function redirect($url) - { - header('Location: '.$url); - exit; - } - - public function json(array $data, $status_code = 200) - { - $this->status($status_code); - - header('Content-Type: application/json'); - echo json_encode($data); - - exit; - } - - public function text($data, $status_code = 200) - { - $this->status($status_code); - - header('Content-Type: text/plain; charset=utf-8'); - echo $data; - - exit; - } - - public function html($data, $status_code = 200) - { - $this->status($status_code); - - header('Content-Type: text/html; charset=utf-8'); - echo $data; - - exit; - } - - public function xml($data, $status_code = 200) - { - $this->status($status_code); - - header('Content-Type: text/xml; charset=utf-8'); - echo $data; - - exit; - } - - public function js($data, $status_code = 200) - { - $this->status($status_code); - - header('Content-Type: text/javascript; charset=utf-8'); - echo $data; - - exit; - } - - public function binary($data, $status_code = 200) - { - $this->status($status_code); - - header('Content-Transfer-Encoding: binary'); - header('Content-Type: application/octet-stream'); - echo $data; - - exit; - } - - public function csp(array $policies = array()) - { - $policies['default-src'] = "'self'"; - $values = ''; - - foreach ($policies as $policy => $hosts) { - - if (is_array($hosts)) { - - $acl = ''; - - foreach ($hosts as &$host) { - - if ($host === '*' || $host === 'self' || strpos($host, 'http') === 0) { - $acl .= $host.' '; - } - } - } - else { - - $acl = $hosts; - } - - $values .= $policy.' '.trim($acl).'; '; - } - - header('Content-Security-Policy: '.$values); - } - - public function nosniff() - { - header('X-Content-Type-Options: nosniff'); - } - - public function xss() - { - header('X-XSS-Protection: 1; mode=block'); - } - - public function hsts() - { - if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { - header('Strict-Transport-Security: max-age=31536000'); - } - } - - public function xframe($mode = 'DENY', array $urls = array()) - { - header('X-Frame-Options: '.$mode.' '.implode(' ', $urls)); - } -} |