<?php

require '../vendor/autoload.php';
$server = new CapMousse\ReactRestify\Server("HelloWorldServer", "0.0.0.1");
$server->get('/hello/{name}', function ($request, $response, $next) {
    $response->write("Hello " . $request->name);
    next();
});
$runner = new CapMousse\ReactRestify\Runner($server);
$runner->listen("1337");
Example #2
0
<?php

require '../vendor/autoload.php';
$server = new CapMousse\ReactRestify\Server("HelloWorldServer", "0.0.0.1");
$server->get('/hello/[name]:any', function ($request, $response, $args) {
    $response->write("Hello " . $args['name']);
});
$runner = new CapMousse\ReactRestify\Runner($server);
$runner->listen("1338", "127.0.0.1");
require 'vendor/autoload.php';
require 'inc/DB.php';
require 'inc/Indexer.php';
require 'inc/IndexerNodeTraverserVisitor.php';
require 'inc/Completions.php';
date_default_timezone_set('America/Montreal');
if (count($argv) !== 3) {
    echo "Usage: port path\n";
    exit;
}
$db = new DB(__DIR__ . '/indexes/' . md5(realpath($argv[2])) . '.sqlite');
$php_db = new DB(__DIR__ . '/indexes/php.sqlite');
$indexer = new Indexer(realpath($argv[2]), $db);
$indexer_php = new Indexer(__DIR__ . '/phpstorm-stubs', $php_db);
$server = new CapMousse\ReactRestify\Server('PHP Autocomplete', '0.0.1');
$server->get('/index', function ($request, $response, $next) use($indexer) {
    $response->write(json_encode(array('status' => $indexer->status, 'last_indexed_file' => $indexer->last_indexed_file)));
    $next();
});
$server->post('/index', function ($request, $response, $next) use($indexer) {
    echo "Starting index...\n";
    $next();
    $indexer->index();
    echo "Index complete.\n";
});
$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);
Example #4
0
<?php

require '../vendor/autoload.php';
$server = new CapMousse\ReactRestify\Server("SmallTodoServer", "0.0.0.1");
$todoList = array(array("name" => "Build a todo list example", "value" => "done"));
//List all todo
$server->get('/', function ($request, $response, $next) use(&$todoList) {
    $response->writeJson((object) $todoList);
    $next();
});
//Create a new todo
$server->post('/', function ($request, $response, $next) use(&$todoList) {
    if (!$request->name) {
        $response->setStatus(500);
        return $next();
    }
    $todoList[] = ["name" => $request->name, "value" => "waiting"];
    $id = count($todoList) - 1;
    $response->writeJson((object) array("id" => $id));
    $next();
})->after(function ($request, $response, $route) use(&$todoList) {
    echo "\nA new todo as been created at id " . (count($todoList) - 1);
});
$server->group('todo', function ($routes) use(&$todoList) {
    //Get a single todo
    $routes->get('{id}', function ($request, $response, $next) use(&$todoList) {
        if (!isset($todoList[$request->id])) {
            $response->setStatus(404);
            return $next();
        }
        $response->writeJson((object) $todoList[$request->id]);