// +---------------------------------------------------------------------- namespace app\http\middleware\api; use app\Request; use Closure; use qiniu\interfaces\MiddlewareInterface; /** * Class AuthTokenMiddleware * @package app\api\middleware */ class LocationMiddleware implements MiddlewareInterface { private $default = '39.904213,116.407385'; /** * @param Request $request * @param Closure $next * @return mixed|object */ public function handle(Request $request, Closure $next) { $location = $request->header('QN-Location', ''); if ($location) { $location = explode(',', $location); } if (!$location || !count($location) == 2) { $location = explode(',', $this->default); } $latitude = $location[0]; $longitude = $location[1]; $request->setLocation($latitude, $longitude); return $next($request); } }