/**
  * Handle a registration request for the application.
  *
  * @param \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function register(Request $request)
 {
     $validator = $this->validator($request->all());
     if ($validator->fails()) {
         $this->throwValidationException($request, $validator);
     }
     $user = $this->create($request->all());
     $broker = $this->getBroker();
     $credentials = $request->only('email');
     Verification::broker($broker)->sendVerificationLink($credentials, function (Message $message) {
         $message->subject($this->getEmailSubject());
     });
     if (config('verification.verify')) {
         return redirect($this->verificationRedirectPath());
     }
     Auth::guard($this->getGuard())->login($user);
     return redirect($this->redirectPath());
 }
 /**
  * Send a verification link to the given user.
  *
  * @param \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function sendVerificationLinkEmail(Request $request)
 {
     $this->validate($request, ['email' => 'required|email']);
     $broker = $this->getBroker();
     $credentials = $request->only('email');
     $response = Verification::broker($broker)->sendVerificationLink($credentials, function (Message $message) {
         $message->subject($this->getEmailSubject());
     });
     switch ($response) {
         case Contracts\VerificationBroker::VERIFICATION_LINK_SENT:
             return $this->getResendLinkEmailSuccessResponse($response);
         default:
             return $this->getResendLinkEmailFailureResponse($response);
     }
 }