inputs(); } public function get_referer(){ return $_SERVER['HTTP_REFERER']; } public function response($data,$status){ $this->_code = ($status)?$status:200; $this->set_headers(); echo $data; exit; } // For a list of http codes checkout http://en.wikipedia.org/wiki/List_of_HTTP_status_codes private function get_status_message(){ $status = array( 200 => 'OK', 201 => 'Created', 204 => 'No Content', 401 => 'Unauthorized', 404 => 'Not Found', 406 => 'Not Acceptable', 409 => 'Conflict', 500 => 'Internal Server Error'); return (isset($status[$this->_code]))?$status[$this->_code]:$status[500]; } public function get_request_method(){ return $_SERVER['REQUEST_METHOD']; } private function inputs(){ switch($this->get_request_method()){ case "POST": $this->_request = $this->cleanInputs($_POST); break; case "GET": case "DELETE": $this->_request = $this->cleanInputs($_GET); break; case "PUT": parse_str(file_get_contents("php://input"),$this->_request); $this->_request = $this->cleanInputs($this->_request); break; default: $this->response('',206); break; } } private function cleanInputs($data){ $clean_input = array(); if(is_array($data)){ foreach($data as $k => $v){ $clean_input[$k] = $this->cleanInputs($v); } }else{ $data = strip_tags($data); $clean_input = trim($data); } return $clean_input; } private function set_headers(){ header("HTTP/1.1 ".$this->_code." ".$this->get_status_message()); header("Content-Type:".$this->_content_type); } public function get_header($key) { if (!function_exists('apache_request_headers')) { function apache_request_headers() { foreach($_SERVER as $key=>$value) { if (substr($key,0,5)=="HTTP_") { $key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5))))); $out[$key]=$value; }else{ $out[$key]=$value; } } return $out; } } $headers = apache_request_headers(); //print_r(array_keys($headers)); $value = $headers[$key]; return $value; } } ?>