3

i'm setting up tus.io php server from https://github.com/ankitpokhrel/tus-php/wiki/Laravel-&-Lumen-Integration

but i'm stuck at converting routes::any from laravel to lumen route

Route::any('/tus/{any?}', function () {
  $response = app('tus-server')->serve();

  return $response->send();
})->where('any', '.*');
Rachman Fauzan
  • 95
  • 1
  • 2
  • 7

2 Answers2

8

Late answer but it needs to be stated for completeness.

You can achieve the any() by using addRoute(). I use this as my catch all.

$router->addRoute(['GET','POST', 'PUT', 'PATCH', 'DELETE','OPTIONS'], '', 'Controller@badRequest');

Looking at the \Laravel\Lumen\Routing\Router::addRoute method, it just expands the array of methods to be individual routes.

David Fairbanks
  • 638
  • 7
  • 17
4

Lumen don't have a $route->any() method.

You must define every route like this:

$router->group(['prefix' => 'tus'], function () use ($router) {
    $tus = app('tus-server')->serve()->send();

    $router->get('/{route:.*}/', function () use ($tus) { return $tus});
    $router->post('/{route:.*}/',function () use ($tus) { return $tus});
    $router->put('/{route:.*}/', function () use ($tus) { return $tus});
    $router->patch('/{route:.*}/', function () use ($tus) { return $tus});
    $router->delete('/{route:.*}/', function () use ($tus) { return $tus});

});

Erik
  • 76
  • 3