Esempio n. 1
0
 /**
  * Handle an incoming request.
  *
  * @author Morten Rugaard <*****@*****.**>
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  * @return mixed
  * @throws \Nodes\Api\Exceptions\InvalidUserAgent
  */
 public function handle($request, Closure $next)
 {
     // Only accept requests from Nodes user agents
     $nodesUserAgent = nodes_user_agent();
     if (empty($nodesUserAgent)) {
         throw (new InvalidUserAgent('Invalid user agent. Reason: Could not locate Nodes details.', 400))->setStatusCode(400);
     }
     return $next($request);
 }
Esempio n. 2
0
 /**
  * Gather user agent data.
  *
  * @author Morten Rugaard <*****@*****.**>
  *
  * @return array
  */
 protected function gatherUserAgentData()
 {
     // User agent container
     $userAgents = ['original' => null, 'nodes' => null];
     // Retrieve original user agent
     $originalUserAgent = user_agent();
     if (!empty($originalUserAgent)) {
         $userAgents['original'] = ['browser' => $originalUserAgent->getBrowserWithVersion(), 'platform' => $originalUserAgent->getPlatform(), 'device' => $originalUserAgent->getDevice(), 'isMobile' => $originalUserAgent->isMobile(), 'isTablet' => $originalUserAgent->isTablet()];
     }
     // Retrieve nodes user agent
     $nodesUserAgent = nodes_user_agent();
     if (!empty($nodesUserAgent)) {
         $userAgents['nodes'] = ['version' => $nodesUserAgent->getVersion(), 'platform' => $nodesUserAgent->getPlatform(), 'device' => $nodesUserAgent->getDevice(), 'debug' => $nodesUserAgent->getDebug()];
     }
     return $userAgents;
 }