protected function dealWithPublic($request, $response)
{
static $public_path;
if (!$public_path) {
$app = $this->app;
$public_path = $app->make('path.public');
}
$uri = $request->server['REQUEST_URI'];
$file = realpath($public_path . $uri);
if (is_file($file)) {
if (!strncasecmp($file, $uri, strlen($public_path))) {
$response->status(403);
$response->end();
} else {
$response->header('Content-Type', get_mime_type($file));
if (!filesize($file)) {
$response->end();
} else {
$response->sendfile($file);
}
}
return true;
}
return false;
}