/** 
  * Handle Requests
  * This is where compute the email from the token and subscribe the user_error()
  *
  * @return void 
  */
 protected function handle_request()
 {
     global $wp;
     $token = $wp->query_vars['token'];
     if (!$token) {
         wp_redirect('sg-subscription-missing-token');
         exit;
     }
     $transient = get_transient($token);
     if (!$transient || !is_array($transient) || !isset($transient['email']) || !isset($transient['first_name']) || !isset($transient['last_name'])) {
         wp_redirect('sg-subscription-invalid-token');
         exit;
     }
     $subscribed = Sendgrid_NLVX::create_and_add_recipient_to_list($transient['email'], $transient['first_name'], $transient['last_name']);
     if ($subscribed) {
         $page = Sendgrid_Tools::get_mc_signup_confirmation_page_url();
         if ($page == false) {
             set_transient($token, null);
             wp_redirect('sg-subscription-success');
             exit;
         } else {
             $page = add_query_arg('sg_token', $token, $page);
             wp_redirect($page);
             exit;
         }
         return;
     } else {
         wp_redirect('sg-error');
         exit;
     }
 }