CorsMiddleware.php 1001 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Http\Response;
  5. class CorsMiddleware
  6. {
  7. /**
  8. * Handle an incoming request.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @param \Closure $next
  12. * @return mixed
  13. */
  14. public function handle($request, Closure $next)
  15. {
  16. $headers = [
  17. 'Access-Control-Allow-Origin' => '*',
  18. 'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, PATCH, DELETE',
  19. 'Access-Control-Allow-Credentials' => 'true',
  20. 'Access-Control-Max-Age' => '86400',
  21. 'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With'
  22. ];
  23. if ($request->isMethod('OPTIONS')) {
  24. return response()->json('{"method":"OPTIONS"}', 200, $headers);
  25. }
  26. $response = $next($request);
  27. foreach ($headers as $key => $value) {
  28. $response->header($key, $value);
  29. }
  30. return $response;
  31. }
  32. }