/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $subdomain = $request->route()->account;
     $url = $request->root();
     $url_details = parse_url($url);
     $domain = Domain::where('subdomain', $url_details['host'])->where('status', 1)->first();
     if (!$domain) {
         abort(404);
     }
     Config::set('database.connections.subdomain.host', $domain->host);
     Config::set('database.connections.subdomain.database', $domain->database);
     Config::set('database.connections.subdomain.username', $domain->username);
     Config::set('database.connections.subdomain.password', $domain->password);
     Config::set('database.connections.subdomain.prefix', $domain->prefix);
     return $next($request);
 }
 public function findDomain(Request $request)
 {
     $user = $request->user();
     $inputs = $request->only('q');
     $domains = Domain::where('domain', 'LIKE', '%' . $inputs['q'] . '%')->get();
     $search = new Search();
     $search->query = $inputs['q'];
     $search->user_id = $user->id;
     $search->save();
     foreach ($domains as $domain) {
         $result = new Searches_has_domain();
         $result->searches_id = $search->id;
         $result->domains_id = $domain->id;
         $result->save();
     }
     return response()->json($domains);
 }
 /**
  * Delete specified domain via PDNS REST API
  *
  * @param  int $id
  * @return Response
  */
 public function destroy($id)
 {
     $domain = Domain::where('user_id', '=', Auth::user()->id)->where('id', '=', $id)->delete();
     if ($domain !== 1) {
         // Domain could not be deleted, either it didn't exist or user did not have permission
         return response('Not found', 404);
     }
     return $domain;
 }