'text/plain',
'Date' => Date::$date
], 'Hello, World!');
}
public function json()
{
return new Response(200, [
'Content-Type' => 'application/json',
'Date' => Date::$date
], json_encode(['message' => 'Hello, World!']));
}
public function db()
{
$statement = Db::$random;
$statement->execute([mt_rand(1, 10000)]);
return new Response(200, [
'Content-Type' => 'application/json',
'Date' => Date::$date
], json_encode($statement->fetch()));
}
public function fortunes()
{
$fortune = Db::$fortune;
$fortune->execute();
$arr = $fortune->fetchAll(\PDO::FETCH_KEY_PAIR);
$arr[0] = 'Additional fortune added at request time.';
\asort($arr);
$html = '';
foreach ($arr as $id => $message) {
$message = \htmlspecialchars($message, \ENT_QUOTES, 'UTF-8');
$html .= "
$id | $message |
";
}
return new Response(200, [
'Date' => Date::$date
], "Fortunes"
);
}
public function queries(Request $request, $q = 1)
{
$statement = Db::$random;
$query_count = min(max((int) $q, 1), 500);
$arr = [];
while ($query_count--) {
$statement->execute([mt_rand(1, 10000)]);
$arr[] = $statement->fetch();
}
return new Response(200, [
'Content-Type' => 'application/json',
'Date' => Date::$date
], json_encode($arr));
}
public function updates(Request $request, $q = 1)
{
static $updates = [];
$random = Db::$random;
$pdo = Db::$pdo;
$count = min(max((int) $q, 1), 500);
$worlds = $keys = $values = [];
for ($i = 0; $i < $count; ++ $i) {
$values[] = $keys[] = $id = mt_rand(1, 10000);
$random->execute([$id]);
$row = $random->fetch();
$values[] = $row['randomNumber'] = mt_rand(1, 10000);
$worlds[] = $row;
}
if (!isset($updates[$count])) {
$sql = 'UPDATE World SET randomNumber = CASE id' . str_repeat(' WHEN ?::INTEGER THEN ?::INTEGER ', $count) . 'END WHERE id IN (' . str_repeat('?::INTEGER,', $count - 1) . '?::INTEGER)';
$updates[$count] = $pdo->prepare($sql);
}
$updates[$count]->execute([...$values, ...$keys]);
return new Response(200, [
'Content-Type' => 'application/json',
'Date' => Date::$date
], json_encode($worlds));
}
}