Esempio n. 1
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $key = $request->get('key');
     if (is_null($key)) {
         throw new Exception("No API Key specified.", 401);
     }
     if (!User::getUserByKey($key)) {
         throw new InvalidApiKeyException("Access denied.", 403);
     }
     return $next($request);
 }
Esempio n. 2
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request
  * @param \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $key = $request->get('key');
     if (is_null($key)) {
         return abort(401, 'No API Key specified.');
     }
     if (!User::getUserByKey($key)) {
         return abort(403, 'Access denied.');
     }
     return $next($request);
 }
Esempio n. 3
0
 /**
  * Create Screenshot.
  *
  * @return Illuminate\Http\Response
  */
 public function createScreenshot(Request $request)
 {
     $url = $request->get('url', 'http://screeenly.com');
     $user = $this->user->getUserByKey($request->get('key'));
     // Validate Input
     $validator = $this->app->make('Screeenly\\Screenshot\\ScreenshotValidator');
     $validator->validate($request->all());
     // Check if Host is available
     $checkHost = $this->app->make('Screeenly\\Services\\CheckHostService');
     $checkHost->ping($url);
     // Actually Capture the Screenshot
     $screenshot = $this->app->make('Screeenly\\Screenshot\\Screenshot');
     $filename = $screenshot->generateFilename();
     $screenshot->setStoragePath($filename);
     $screenshot->setHeight($request->get('height'));
     $screenshot->setWidth($request->get('width', 1024));
     $screenshot->capture($url);
     $log = $this->log->store($screenshot, $user);
     $this->setRateLimitHeader($request);
     $result = ['path' => $screenshot->assetPath, 'base64' => 'data:image/jpg;base64,' . $screenshot->bas64, 'base64_raw' => $screenshot->bas64];
     return $this->response->json($result, 201, $this->header);
 }