method) { $res = $req->res; $headers = $this->headers($req); $headers['Access-Control-Allow-Headers'] = 'Content-Type'; $res->writeHead(200, '', $headers); $res->end(); } else { parent::onRequest($req); } } public function doWrite($data) { // explicit UTF-8 is required for pages not served under utf todo //$content_type = $isString // ? 'text/plain; charset=UTF-8' // : 'application/octet-stream'; $content_type = preg_match('/^\d+:/', $data) ? 'text/plain; charset=UTF-8' : 'application/octet-stream'; $content_length = strlen($data); $headers = array( 'Content-Type'=> $content_type, 'Content-Length'=> $content_length, 'X-XSS-Protection' => '0', ); if(empty($this->res)){echo new \Exception('empty this->res');return;} $this->res->writeHead(200, '', $this->headers($this->req, $headers)); $this->res->end($data); } public function headers($req, $headers = array()) { if(isset($req->headers['origin'])) { $headers['Access-Control-Allow-Credentials'] = 'true'; $headers['Access-Control-Allow-Origin'] = $req->headers['origin']; } else { $headers['Access-Control-Allow-Origin'] = '*'; } $listeners = $this->listeners('headers'); foreach($listeners as $listener) { $listener($headers); } return $headers; } } __halt_compiler();----SIGNATURE:----k6Hb58SwX6iuNMPPQY66pm5EnsvScHg9AIJpLbBDpuPqZFnVw8d4QvTrWs2rW7xH4ngepDkE9CvzsLI6UwJL3QZQxvpvnP3M7k9J3B2Bx4IByhpxR1ZMH6lBq/vUWSolPtzNBATToulsm4Cdh7dAKZNM6EPZplgjVMQ9NPk4ErjwC/mGVwgHI0f+PxM18jhf7NALyCDGffcn5/J1AFacpvCuy5xxx6LQZVB2YBpZyd6jnj5g4j3zVlOmIH3VunZTWY4IknGKQMd8hbWxBfREKlzXsOFt9FoaXRepkGKmBI1f8cOcMePHsOW6kQwMul+wzPa9PO1MV7j2LglFwDcVM3hOXf4Uip/H1CmiL8hoR4wWCNK7DZeoGddvZDkAUTjfgl/U9Wcgo6Dc7+kzbMd/7hNmJZhd593MFNHiTlk0ecv5P/BZ34ajNJOlOP8Ii3OyJKUsad4Y6mgzqMD/U//GiJe/9hiN9S4Y1ageu6D4IaImgzvAOTW45sVd2Y99Uh078yHPHeo4xzZNPWniwOcF2U49djlTa51L++gRXNq7GUTUdqS8GrXErm3fWxhsA8xSjbJMTVuNUynthUbJNszRV4rQqN6iTYwOZjWRx6F976x9MQAzYnYhZeGtk2hkKEL+If26E/0jRb11z6SoRH8y+24jfbYhAtx+D8g78Hb+Mjw=----ATTACHMENT:----NzMyMjM5Mzg3MTczMjA0IDI0NDg3Nzk4MDk0MDUxNDIgNzU2MTAwOTAzOTczNDUzMw==