function no_chunk(swoole_http_request $request, swoole_http_response $response) { // try // { // if (rand(1, 99) % 2 == 1) // { // throw new Exception("just for fun."); // } // $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); // } // catch(Exception $e) // { // $response->end("<h1>Exceptiom</h1><div>".$e->getMessage()."</div>"); // } var_dump($request->server['request_uri'], substr($request->server['request_uri'], -4, 4)); if (substr($request->server['request_uri'], -4, 4) == '.jpg') { $response->header('Content-Type', 'image/jpeg'); $response->sendfile(__DIR__ . $request->server['request_uri']); } else { // var_dump($request->files); // var_dump($request->post); // var_dump($request->cookie); // var_dump($request->rawContent()); // if ($request->server['request_method'] == 'POST') // { // var_dump($request->post); // } $response->end("<h1>Hello Swoole.</h1>"); } return; //var_dump($request); // var_dump($_GET); //var_dump($_POST); //var_dump($_COOKIE); //$response->status(301); //$response->header("Location", "http://www.baidu.com/"); //$response->cookie("hello", "world", time() + 3600); // $response->header("Content-Type", "text/html; charset=utf-8"); //var_dump($request->post); // var_dump($request->get); // echo strlen(gzdeflate("<h1>Hello Swoole.</h1>")); // $response->end("<h1>Hello Swoole.</h1>"); //$response->end("<h1>Hello Swoole. #".str_repeat('A', rand(100, 999))."</h1>"); //global $http; //$http->task("hello world"); $file = realpath(__DIR__ . '/../' . $request->server['request_uri']); if (is_file($file)) { echo "http get file={$file}\n"; if (substr($file, -4) == '.php') { $response->gzip(); } else { $response->header('Content-Type', 'image/jpeg'); } $content = file_get_contents($file); echo "response size = " . strlen($content) . "\n"; // $response->write($content); // $response->end(); $response->end($content); } else { $response->end("<h1>Hello Swoole.</h1>"); } }
function doStatic(\swoole_http_request $req, \swoole_http_response $resp) { $file = $this->document_root . $req->server['request_uri']; $read_file = true; $fstat = stat($file); //过期控制信息 if (isset($req->header['if-modified-since'])) { $lastModifiedSince = strtotime($req->header['if-modified-since']); if ($lastModifiedSince and $fstat['mtime'] <= $lastModifiedSince) { //不需要读文件了 $read_file = false; $resp->status(304); } } else { $resp->header('Cache-Control', "max-age={$this->expire_time}"); $resp->header('Pragma', "max-age={$this->expire_time}"); $resp->header('Last-Modified', date(self::DATE_FORMAT_HTTP, $fstat['mtime'])); $resp->header('Expires', "max-age={$this->expire_time}"); } if ($read_file) { $extname = Swoole\Upload::getFileExt($file); if (empty($this->types[$extname])) { $mime_type = 'text/html; charset=' . $this->charest; } else { $mime_type = $this->types[$extname]; } $resp->header('Content-Type', $mime_type); $resp->sendfile($file); } else { $resp->end(); } return true; }
function no_chunk(swoole_http_request $request, swoole_http_response $response) { /** * Cookie Test */ //$response->cookie('test1', '1234', time() + 86400, '/'); // $response->cookie('test2', '5678', time() + 86400); // var_dump($response->cookie); // var_dump($request->cookie); // try // { // if (rand(1, 99) % 2 == 1) // { // throw new Exception("just for fun."); // } // $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>"); // } // catch(Exception $e) // { // $response->end("<h1>Exceptiom</h1><div>".$e->getMessage()."</div>"); // } //var_dump($request->server['request_uri'], substr($request->server['request_uri'], -4, 4)); if (substr($request->server['request_uri'], -8, 8) == 'test.jpg') { $response->header('Content-Type', 'image/jpeg'); $response->sendfile(dirname(__DIR__) . '/test.jpg'); return; } if ($request->server['request_uri'] == '/favicon.ico') { $response->status(404); $response->end(); return; } // else // { //var_dump($request->post); //var_export($request->cookie); // var_dump($request->rawContent()); // if ($request->server['request_method'] == 'POST') // { // var_dump($request->post); // } // echo "GET:" . var_export($_GET, true)."\n"; // echo "POST:" . var_export($_POST, true)."\n"; // echo "get:" . var_export($request->get, true)."\n"; // echo "post:" . var_export($request->post, true)."\n"; //var_dump($request->server); $output = ''; $output .= "<h2>HEADER:</h2>" . dump($request->header); $output .= "<h2>SERVER:</h2>" . dump($request->server); if (!empty($request->files)) { $output .= "<h2>FILE:</h2>" . dump($request->files); } if (!empty($request->cookie)) { $output .= "<h2>COOKIES:</h2>" . dump($request->cookie); } if (!empty($request->get)) { $output .= "<h2>GET:</h2>" . dump($request->get); } if (!empty($request->post)) { $output .= "<h2>POST:</h2>" . dump($request->post); } //$response->header('X-Server', 'Swoole'); //unset($request, $response); // swoole_timer_after(2000, function() use ( $response) { $response->end("<h1>Hello Swoole.</h1>" . $output); // }); // } return; //var_dump($request); // var_dump($_GET); //var_dump($_POST); //var_dump($_COOKIE); //$response->status(301); //$response->header("Location", "http://www.baidu.com/"); //$response->cookie("hello", "world", time() + 3600); // $response->header("Content-Type", "text/html; charset=utf-8"); //var_dump($request->post); // var_dump($request->get); // echo strlen(gzdeflate("<h1>Hello Swoole.</h1>")); // $response->end("<h1>Hello Swoole.</h1>"); //$response->end("<h1>Hello Swoole. #".str_repeat('A', rand(100, 999))."</h1>"); //global $http; //$http->task("hello world"); $file = realpath(__DIR__ . '/../' . $request->server['request_uri']); if (is_file($file)) { echo "http get file={$file}\n"; if (substr($file, -4) == '.php') { $response->gzip(); } else { $response->header('Content-Type', 'image/jpeg'); } $content = file_get_contents($file); echo "response size = " . strlen($content) . "\n"; // $response->write($content); // $response->end(); $response->end($content); } else { $response->end("<h1>Hello Swoole.</h1>"); } }