});
$server->post('/reindex', function ($request, $response, $next) use($indexer) {
    echo "Starting reindex...\n";
    if ($request->file) {
        $file = realpath($request->file);
        $indexer->delete_file_index($file);
        $indexer->index_file($file);
    } else {
        $indexer->delete_index();
        $indexer->index();
    }
    echo "Indexing completed.\n";
    $next();
});
$server->post('/index-php', function ($request, $response, $next) use($indexer_php) {
    $indexer_php->delete_index();
    $indexer_php->index();
    echo "Indexing Complete\n";
    $next();
});
$server->post('/updateindex', function ($request, $response, $next) use($indexer) {
    echo "Updating reindex...\n";
    $indexer->index();
    echo "Indexing completed.\n";
    $next();
});
$server->get('/search', function ($request, $response, $next) use($db) {
    $params = $request->httpRequest->getQuery();
    $query = array();
    if (isset($params['namespace'])) {
        $query['namespace'] = $params['namespace'];