Cors.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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)
  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 * 60 * 24),
  30. 'Access-Control-Allow-Headers' => 'Content-Type, Accept, Authorization, X-Requested-With, Application',
  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->headers->set($key, $value);
  38. }
  39. return $response;
  40. }
  41. }