Cors.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. class Cors
  5. {
  6. /**
  7. * Create a new middleware instance.
  8. *
  9. * @param \Illuminate\Contracts\Auth\Factory $auth
  10. */
  11. public function __construct()
  12. {
  13. }
  14. /**
  15. * Handle an incoming request.
  16. *
  17. * @param \Illuminate\Http\Request $request
  18. * @param \Closure $next
  19. * @param string|null $guard
  20. *
  21. * @return mixed
  22. */
  23. public function handle($request, Closure $next, $guard = null)
  24. {
  25. $headers = [
  26. 'Access-Control-Allow-Origin' => '*',
  27. 'Access-Control-Allow-Methods' => 'GET, HEAD, POST, PUT, DELETE ,OPTIONS',
  28. 'Access-Control-Allow-Credentials' => 'true',
  29. 'Access-Control-Max-Age' => '60',
  30. 'Access-Control-Allow-Headers' => 'Origin, X-Requested-With, Content-Type, Accept, Authorization',
  31. ];
  32. if ($request->isMethod('OPTIONS')) {
  33. return response(null, 200, $headers);
  34. }
  35. $response = $next($request);
  36. foreach ($headers as $key => $value) {
  37. $response->header($key, $value);
  38. }
  39. return $response;
  40. }
  41. }