From 41e0a628d6dd0eed00f3754faa45c0abdc588448 Mon Sep 17 00:00:00 2001 From: printempw Date: Mon, 3 Oct 2016 21:44:26 +0800 Subject: [PATCH] modularize routes --- app/Http/Kernel.php | 13 ++++----- app/Http/Routes/static.php | 37 +++++++++++++++++++++++++ app/Http/{routes.php => Routes/web.php} | 33 +++------------------- app/Providers/RouteServiceProvider.php | 25 +++++++++++++++-- 4 files changed, 70 insertions(+), 38 deletions(-) create mode 100644 app/Http/Routes/static.php rename app/Http/{routes.php => Routes/web.php} (71%) diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 9ff9eb0c..9c63904b 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -33,8 +33,8 @@ class Kernel extends HttpKernel //\App\Http\Middleware\VerifyCsrfToken::class, ], - 'api' => [ - 'throttle:60,1', + 'static' => [ + \App\Http\Middleware\Internationalization::class, ], ]; @@ -46,10 +46,9 @@ class Kernel extends HttpKernel * @var array */ protected $routeMiddleware = [ - 'auth' => \App\Http\Middleware\Authenticate::class, - 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, - 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, - 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, - 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'auth' => \App\Http\Middleware\CheckAuthenticated::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'admin' => \App\Http\Middleware\CheckAdminMiddleware::class, + 'player' => \App\Http\Middleware\CheckPlayerExistMiddleware::class ]; } diff --git a/app/Http/Routes/static.php b/app/Http/Routes/static.php new file mode 100644 index 00000000..47e7c12c --- /dev/null +++ b/app/Http/Routes/static.php @@ -0,0 +1,37 @@ + 'player'], function() +{ + // Json profile + Route::get('/{player_name}.json', 'TextureController@json'); + Route::get('/{api}/{player_name}.json', 'TextureController@jsonWithApi')->where('api', 'usm|csl'); + // Legacy links + Route::get('/skin/{player_name}.png', 'TextureController@skin'); + Route::get('/skin/{model}/{pname}.png', 'TextureController@skinWithModel'); + Route::get('/cape/{player_name}.png', 'TextureController@cape'); +}); + +Route::get('/textures/{hash}', 'TextureController@texture'); +Route::get('/{api}/textures/{hash}', 'TextureController@textureWithApi')->where('api', 'usm|csl'); + +Route::get('/avatar/{base64_email}.png', 'TextureController@avatar'); +Route::get('/avatar/{size}/{base64_email}.png', 'TextureController@avatarWithSize'); + +Route::get('/raw/{tid}.png', 'TextureController@raw'); + +Route::get('/preview/{tid}.png', 'TextureController@preview'); +Route::get('/preview/{size}/{tid}.png', 'TextureController@previewWithSize'); diff --git a/app/Http/routes.php b/app/Http/Routes/web.php similarity index 71% rename from app/Http/routes.php rename to app/Http/Routes/web.php index 91569bab..06873002 100644 --- a/app/Http/routes.php +++ b/app/Http/Routes/web.php @@ -21,7 +21,7 @@ Route::get('/locale/{lang}', 'HomeController@locale'); */ Route::group(['prefix' => 'auth'], function() { - Route::group(['middleware' => 'App\Http\Middleware\RedirectIfAuthenticated'], function() + Route::group(['middleware' => 'guest'], function() { Route::get ('/login', 'AuthController@login'); Route::get ('/register', 'AuthController@register'); @@ -42,7 +42,7 @@ Route::group(['prefix' => 'auth'], function() /** * User Center */ -Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated', 'prefix' => 'user'], function() +Route::group(['middleware' => 'auth', 'prefix' => 'user'], function() { Route::any ('', 'UserController@index'); Route::any ('/checkin', 'UserController@checkIn'); @@ -81,7 +81,7 @@ Route::group(['prefix' => 'skinlib'], function() Route::any ('/show', 'SkinlibController@show'); Route::any ('/search', 'SkinlibController@search'); - Route::group(['middleware' => 'App\Http\Middleware\CheckAuthenticated'], function() + Route::group(['middleware' => 'auth'], function() { Route::get ('/upload', 'SkinlibController@upload'); Route::post('/upload', 'SkinlibController@handleUpload'); @@ -95,7 +95,7 @@ Route::group(['prefix' => 'skinlib'], function() /** * Admin Panel */ -Route::group(['middleware' => 'App\Http\Middleware\CheckAdminMiddleware', 'prefix' => 'admin'], function() +Route::group(['middleware' => 'admin', 'prefix' => 'admin'], function() { Route::get('/', 'AdminController@index'); @@ -110,28 +110,3 @@ Route::group(['middleware' => 'App\Http\Middleware\CheckAdminMiddleware', 'prefi Route::post('/users', 'AdminController@userAjaxHandler'); Route::post('/players', 'AdminController@playerAjaxHandler'); }); - -/** - * Resources - */ -Route::group(['middleware' => 'App\Http\Middleware\CheckPlayerExistMiddleware'], function() -{ - // Json profile - Route::get('/{player_name}.json', 'TextureController@json'); - Route::get('/{api}/{player_name}.json', 'TextureController@jsonWithApi')->where('api', 'usm|csl'); - // Legacy links - Route::get('/skin/{player_name}.png', 'TextureController@skin'); - Route::get('/skin/{model}/{pname}.png', 'TextureController@skinWithModel'); - Route::get('/cape/{player_name}.png', 'TextureController@cape'); -}); - -Route::get('/textures/{hash}', 'TextureController@texture'); -Route::get('/{api}/textures/{hash}', 'TextureController@textureWithApi')->where('api', 'usm|csl'); - -Route::get('/avatar/{base64_email}.png', 'TextureController@avatar'); -Route::get('/avatar/{size}/{base64_email}.png', 'TextureController@avatarWithSize'); - -Route::get('/raw/{tid}.png', 'TextureController@raw'); - -Route::get('/preview/{tid}.png', 'TextureController@preview'); -Route::get('/preview/{size}/{tid}.png', 'TextureController@previewWithSize'); diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index bde08819..573ab7fe 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -37,6 +37,8 @@ class RouteServiceProvider extends ServiceProvider */ public function map(Router $router) { + $this->mapStaticRoutes($router); + $this->mapWebRoutes($router); // @@ -53,9 +55,28 @@ class RouteServiceProvider extends ServiceProvider protected function mapWebRoutes(Router $router) { $router->group([ - 'namespace' => $this->namespace, 'middleware' => 'web', + 'middleware' => 'web', + 'namespace' => $this->namespace, ], function ($router) { - require app_path('Http/routes.php'); + require app_path('Http/Routes/web.php'); + }); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @param \Illuminate\Routing\Router $router + * @return void + */ + protected function mapStaticRoutes(Router $router) + { + $router->group([ + 'middleware' => 'static', + 'namespace' => $this->namespace, + ], function ($router) { + require app_path('Http/Routes/static.php'); }); } }