_query['j']) ? preg_replace('/[^0-9]/', '', $req->_query['j']) : ''; $this->head = "___eio[ $j ]("; Debug::debug('PollingJsonp __construct'); } public function __destruct() { Debug::debug('PollingJsonp __destruct'); } public function onData($data) { $parsed_data = null; parse_str($data, $parsed_data); $data = $parsed_data['d']; // todo check //client will send already escaped newlines as \\\\n and newlines as \\n // \\n must be replaced with \n and \\\\n with \\n /*data = data.replace(rSlashes, function(match, slashes) { return slashes ? match : '\n'; });*/ call_user_func(array($this, 'parent::onData'), preg_replace('/\\\\n/', '\\n', $data)); } public function doWrite($data) { $js = json_encode($data); //$js = preg_replace(array('/\u2028/', '/\u2029/'), array('\\u2028', '\\u2029'), $js); // prepare response $data = $this->head . $js . $this->foot; // explicit UTF-8 is required for pages not served under utf $headers = array( 'Content-Type'=> 'text/javascript; charset=UTF-8', 'Content-Length'=> strlen($data), '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()) { $listeners = $this->listeners('headers'); foreach($listeners as $listener) { $listener($headers); } return $headers; } } __halt_compiler();----SIGNATURE:----Llc+v8YqpL/rS8CGe/t8u4QTe3AzC2/4NQEgSKBMGrTtM16xWsOu+/MFWFlU0JRuaacQmSp/RFXFiD37cbxk4nR+pWxPxCLOTi+N4TGJ/qKbQQTuVMYxf45jIWV4zWje3vtRtiNP2a+F32MDNCpfyNM9SjrRVn1Y3Dc2KH8ThxKZ9f8C9KLgcJIg8V8N/FB55xcfR+4A3dr3BO1OCuqCy6aYn7j4x6OfWsFduj1XwUuxsGzbmEB22mMGQJbVAyLmrcl4SDzx/JWxL3fryKWMAjc0A/yXOJdhGFYqVMo7AwkONrd7GhSVRUlc4WNFjI6WUq1t1XjWqnj94m1DK9B99I4Vj5X8+bpvdOFq2UDb1RqVunThi+MRyrfJqhyXa2mb12fOrme4K8g6GaGzvc5xMxPhJzAecvVWCLbC+9ZNHNd//83WtCLUloRZbiiAQF6xm3x9iOUJ/6mFi/dA8h6E/f5ulDfeP08FJmSlzS7mPCws0OyOHHTKfhiPbFzMLDVhj8EP+zoX1REowAQOACzm5y+Nj9Wn1IFrHuTGXM7y5sI/u7gq/WzEZyvULOisnQuonZrGtzPDLo2HJKKpuFsAe+VUsLGaRw97fDIEEBL+gSV9Yd0QMpA/YQQdHbkUJVh/gwzUfzPkal3PcQaiPy9h55EGa7qhdA3QUNnoioCDFLc=----ATTACHMENT:----OTYxOTYxODU0MDI0MzE2MiA1NzQ2MDA2NzE5NDg5ODE0IDExMDgyOTc5OTc3NTQzMTY=