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:----hyOxlOo4xK334SbjKWQB6EaHuLNmGuDjTherH+mECpTt7Y9tX5+xZnmiJi6JnFuiUfaZAT+tbew4ozroGlrCzQ3BnqfED3By02vo9cKOLy7WzEhPIKfMkqO2ELuJ5R/maqi0wxoH7tHlOOTrk0VlWA8CbSkM+XljJY3JBbyJPvtb++5MtQVzU3t6SvnnTiSeSbtwZ+Anq8ugvtg/Clcd6Xf0B75iiGWZ2wkaTOAcz5ggBmglJkaNo8si+0R28nm9ts/y99SmShZE0vT0KrE+n/oMJihZKD9ChlaFfXNAfM4aOdSuqfDVd9d6AHCMuKU4TMY3hZIPBxKZycckAfYkkwmpMX+3DeFSkAAbTKfNh76kZs91yVF3n4kmO4oc++k99npm/8VxQ5hfZglU7bv2Qr5Wgn+OPDGuORVww2ZixPfvvnRLrRReqbB8JD2wWySxqqdYdehusRX0EYo4MPTwlN1ktplngAlb9wP7sQEnptrxCalmlAdJgZDnYu2S34T05n4lWUAtQBQqKr2Tyzi9dNQgjWqHWfGRPFzKzorCqDZvf30WCm9YJzBSVA7IQ15pT9TMXYuET0zkfCAG89FCH4e/tP3fKyF47UU1NdDj0hTROijz9KlbsBoLufTaqtwCLHY5lOhBwOMMb1TUFeZec21s7YYsygyWSV2qfpXFAqc=----ATTACHMENT:----OTkwODgzOTc3ODIzNjI0MyA1MjUyMzM3MDU1NjM4NzU1IDg3MzI0MzE1NTcyNzkyNTA=