From 16a47f1366a628058f5a6bb54318f2f419fcabf8 Mon Sep 17 00:00:00 2001 From: Christoph Rene Pardon Date: Mon, 16 Jul 2018 14:46:04 +0200 Subject: [PATCH] feat (PHP LARAVEL) 8417: fix typos; add missing files; adjust readme for those unfamilar with laravel to get started quickly --- .../languages/PhpLaravelServerCodegen.java | 11 +++- .../src/main/resources/php-laravel/README.md | 9 +++ .../resources/php-laravel/app/Http/Kernel.php | 63 +++++++++++++++++++ .../app/Http/Middleware/EncryptCookies.php | 17 +++++ .../Middleware/RedirectIfAuthenticated.php | 26 ++++++++ .../app/Http/Middleware/TrimStrings.php | 18 ++++++ .../app/Http/Middleware/TrustProxies.php | 23 +++++++ .../app/Http/Middleware/VerifyCsrfToken.php | 17 +++++ .../src/main/resources/php-laravel/server.php | 21 +++++++ 9 files changed, 203 insertions(+), 2 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/app/Http/Kernel.php create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/EncryptCookies.php create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/TrimStrings.php create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/TrustProxies.php create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/VerifyCsrfToken.php create mode 100644 modules/openapi-generator/src/main/resources/php-laravel/server.php diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java index 97383cbea81b..a0273c79d291 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java @@ -119,9 +119,10 @@ public PhpLaravelServerCodegen() { supportingFiles.add(new SupportingFile("README.md", outputFolder, "README.md")); supportingFiles.add(new SupportingFile("artisan", outputFolder, "artisan")); supportingFiles.add(new SupportingFile("package.json", outputFolder, "package.json")); - supportingFiles.add(new SupportingFile("phpunit.xml", outputFolder, "v")); + supportingFiles.add(new SupportingFile("phpunit.xml", outputFolder, "phpunit.xml")); supportingFiles.add(new SupportingFile("webpack.mix.js", outputFolder, "webpack.mix.js")); supportingFiles.add(new SupportingFile(".env.example", outputFolder, ".env.example")); + supportingFiles.add(new SupportingFile("server.php", outputFolder, "server.php")); supportingFiles.add(new SupportingFile("bootstrap/cache/.gitignore", outputFolder + File.separator + "bootstrap" + File.separator + "cache", ".gitignore")); supportingFiles.add(new SupportingFile("bootstrap/app.php", outputFolder + File.separator + "bootstrap", "app.php")); @@ -143,7 +144,13 @@ public PhpLaravelServerCodegen() { supportingFiles.add(new SupportingFile("routes/console.mustache", outputFolder + File.separator + "routes", "console.php")); /* /app/Http/Controllers/ */ + supportingFiles.add(new SupportingFile("app/Http/Kernel.php", outputFolder + File.separator + "app" + File.separator + "Http", "Kernel.php")); supportingFiles.add(new SupportingFile("app/Http/Controllers/Controller.php", outputFolder + File.separator + "app" + File.separator + "Http" + File.separator + "Controllers", "Controller.php")); + supportingFiles.add(new SupportingFile("app/Http/Middleware/EncryptCookies.php", outputFolder + File.separator + "app" + File.separator + "Http" + File.separator + "Middleware", "EncryptCookies.php")); + supportingFiles.add(new SupportingFile("app/Http/Middleware/RedirectIfAuthenticated.php", outputFolder + File.separator + "app" + File.separator + "Http" + File.separator + "Middleware", "RedirectIfAuthenticated.php")); + supportingFiles.add(new SupportingFile("app/Http/Middleware/TrimStrings.php", outputFolder + File.separator + "app" + File.separator + "Http" + File.separator + "Middleware", "TrimStrings.php")); + supportingFiles.add(new SupportingFile("app/Http/Middleware/TrustProxies.php", outputFolder + File.separator + "app" + File.separator + "Http" + File.separator + "Middleware", "TrustProxies.php")); + supportingFiles.add(new SupportingFile("app/Http/Middleware/VerifyCsrfToken.php", outputFolder + File.separator + "app" + File.separator + "Http" + File.separator + "Middleware", "VerifyCsrfToken.php")); // /app/Console supportingFiles.add(new SupportingFile("app/Console/Kernel.php", outputFolder + File.separator + "app" + File.separator + "Console", "Kernel.php")); @@ -195,7 +202,7 @@ public PhpLaravelServerCodegen() { supportingFiles.add(new SupportingFile("storage/app/public/.gitignore", outputFolder + File.separator + "storage" + File.separator + "app" + File.separator + "public", ".gitignore")); supportingFiles.add(new SupportingFile("storage/framework/.gitignore", outputFolder + File.separator + "storage" + File.separator + "framework", ".gitignore")); supportingFiles.add(new SupportingFile("storage/framework/cache/.gitignore", outputFolder + File.separator + "storage" + File.separator + "framework" + File.separator + "cache", ".gitignore")); - supportingFiles.add(new SupportingFile("storage/framework/session/.gitignore", outputFolder + File.separator + "storage" + File.separator + "framework" + File.separator + "session", ".gitignore")); + supportingFiles.add(new SupportingFile("storage/framework/sessions/.gitignore", outputFolder + File.separator + "storage" + File.separator + "framework" + File.separator + "sessions", ".gitignore")); supportingFiles.add(new SupportingFile("storage/framework/testing/.gitignore", outputFolder + File.separator + "storage" + File.separator + "framework" + File.separator + "testing", ".gitignore")); supportingFiles.add(new SupportingFile("storage/framework/views/.gitignore", outputFolder + File.separator + "storage" + File.separator + "framework" + File.separator + "views", ".gitignore")); supportingFiles.add(new SupportingFile("storage/logs/.gitignore", outputFolder + File.separator + "storage" + File.separator + "logs", ".gitignore")); diff --git a/modules/openapi-generator/src/main/resources/php-laravel/README.md b/modules/openapi-generator/src/main/resources/php-laravel/README.md index f5d1bf88db8f..76ceb65d21f6 100644 --- a/modules/openapi-generator/src/main/resources/php-laravel/README.md +++ b/modules/openapi-generator/src/main/resources/php-laravel/README.md @@ -12,3 +12,12 @@ This example uses the [laravel Framework](http://laravel.com/). To see how to m Using `composer install` to install the framework and dependencies via [Composer](http://getcomposer.org/). +### post installation steps + +Change into application folder and execute following commands to get started: + +```sh +cp .env.example .env +php artisan key:generate +php artisan serve +``` \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Kernel.php b/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Kernel.php new file mode 100644 index 000000000000..3439540c908a --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Kernel.php @@ -0,0 +1,63 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + 'throttle:60,1', + 'bindings', + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + ]; +} diff --git a/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/EncryptCookies.php b/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 000000000000..033136ad128b --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +check()) { + return redirect('/home'); + } + + return $next($request); + } +} diff --git a/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/TrimStrings.php b/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/TrimStrings.php new file mode 100644 index 000000000000..5a50e7b5c8bd --- /dev/null +++ b/modules/openapi-generator/src/main/resources/php-laravel/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ + + */ + +$uri = urldecode( + parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) +); + +// This file allows us to emulate Apache's "mod_rewrite" functionality from the +// built-in PHP web server. This provides a convenient way to test a Laravel +// application without having installed a "real" web server software here. +if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { + return false; +} + +require_once __DIR__.'/public/index.php';