caihongxingqiu 5 年之前
父節點
當前提交
aa22f94572
共有 2 個文件被更改,包括 37 次插入0 次删除
  1. 34 0
      app/Http/Middleware/CorsMiddleware.php
  2. 3 0
      bootstrap/app.php

+ 34 - 0
app/Http/Middleware/CorsMiddleware.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+
+class CorsMiddleware
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        //Intercepts OPTIONS requests
+        if($request->isMethod('OPTIONS')) {
+            $response = response('', 200);
+        } else {
+            // Pass the request to the next middleware
+            $response = $next($request);
+        }
+
+        // Adds headers to the response
+        $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, PATCH, DELETE');
+        $response->header('Access-Control-Allow-Headers', $request->header('Access-Control-Request-Headers'));
+        $response->header('Access-Control-Allow-Origin', '*');
+
+        // Sends it
+        return $response;
+    }
+}

+ 3 - 0
bootstrap/app.php

@@ -66,6 +66,9 @@ $app->singleton(
 | route or middleware that'll be assigned to some specific routes.
 |
 */
+$app->middleware([
+    App\Http\Middleware\CorsMiddleware::class
+]);
 
 $app->routeMiddleware([
     'auth' => App\Http\Middleware\Authenticate::class,