aboutsummaryrefslogtreecommitdiffhomepage
path: root/infrastructure/Http
diff options
context:
space:
mode:
Diffstat (limited to 'infrastructure/Http')
-rw-r--r--infrastructure/Http/ApiRequest.php21
-rw-r--r--infrastructure/Http/Controller.php10
-rw-r--r--infrastructure/Http/Kernel.php47
-rw-r--r--infrastructure/Http/Middleware/EncryptCookies.php17
-rw-r--r--infrastructure/Http/RouteServiceProvider.php23
5 files changed, 118 insertions, 0 deletions
diff --git a/infrastructure/Http/ApiRequest.php b/infrastructure/Http/ApiRequest.php
new file mode 100644
index 0000000..0183bb4
--- /dev/null
+++ b/infrastructure/Http/ApiRequest.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace Infrastructure\Http;
+
+use Illuminate\Contracts\Validation\Validator;
+use Illuminate\Foundation\Http\FormRequest;
+use Symfony\Component\HttpKernel\Exception\HttpException;
+use Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException;
+
+abstract class ApiRequest extends FormRequest
+{
+ protected function failedValidation(Validator $validator)
+ {
+ throw new UnprocessableEntityHttpException($validator->errors()->toJson());
+ }
+
+ protected function failedAuthorization()
+ {
+ throw new HttpException(403);
+ }
+}
diff --git a/infrastructure/Http/Controller.php b/infrastructure/Http/Controller.php
new file mode 100644
index 0000000..aa567b9
--- /dev/null
+++ b/infrastructure/Http/Controller.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Infrastructure\Http;
+
+use Illuminate\Foundation\Validation\ValidatesRequests;
+use Optimus\Bruno\LaravelController;
+
+abstract class Controller extends LaravelController
+{
+}
diff --git a/infrastructure/Http/Kernel.php b/infrastructure/Http/Kernel.php
new file mode 100644
index 0000000..d74c8b3
--- /dev/null
+++ b/infrastructure/Http/Kernel.php
@@ -0,0 +1,47 @@
+<?php
+
+namespace Infrastructure\Http;
+
+use Illuminate\Foundation\Http\Kernel as HttpKernel;
+
+class Kernel extends HttpKernel
+{
+ /**
+ * The application's global HTTP middleware stack.
+ *
+ * These middleware are run during every request to your application.
+ *
+ * @var array
+ */
+ protected $middleware = [
+ \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
+ \Infrastructure\Http\Middleware\EncryptCookies::class,
+ \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
+ \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+ ];
+
+ /**
+ * The application's route middleware groups.
+ *
+ * @var array
+ */
+ protected $middlewareGroups = [
+
+ ];
+
+ /**
+ * The application's route middleware.
+ *
+ * These middleware may be assigned to groups or used individually.
+ *
+ * @var array
+ */
+ protected $routeMiddleware = [
+ 'auth' => \Infrastructure\Auth\Middleware\AccessTokenChecker::class,
+ 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
+ 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
+ 'can' => \Illuminate\Auth\Middleware\Authorize::class,
+ 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
+ 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
+ ];
+}
diff --git a/infrastructure/Http/Middleware/EncryptCookies.php b/infrastructure/Http/Middleware/EncryptCookies.php
new file mode 100644
index 0000000..80b8da3
--- /dev/null
+++ b/infrastructure/Http/Middleware/EncryptCookies.php
@@ -0,0 +1,17 @@
+<?php
+
+namespace Infrastructure\Http\Middleware;
+
+use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
+
+class EncryptCookies extends BaseEncrypter
+{
+ /**
+ * The names of the cookies that should not be encrypted.
+ *
+ * @var array
+ */
+ protected $except = [
+ //
+ ];
+}
diff --git a/infrastructure/Http/RouteServiceProvider.php b/infrastructure/Http/RouteServiceProvider.php
new file mode 100644
index 0000000..a17d253
--- /dev/null
+++ b/infrastructure/Http/RouteServiceProvider.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace Infrastructure\Http;
+
+use Illuminate\Routing\Router;
+use Optimus\Api\System\RouteServiceProvider as ServiceProvider;
+
+class RouteServiceProvider extends ServiceProvider
+{
+ /**
+ * Define your route model bindings, pattern filters, etc.
+ *
+ * @return void
+ */
+ public function boot()
+ {
+ $router = $this->app->make(Router::class);
+
+ $router->pattern('id', '[0-9]+');
+
+ parent::boot($router);
+ }
+}