Package org.atomojo.www.apps.login

Source Code of org.atomojo.www.apps.login.LogoutAction

/*
* LoginForm.java
*
* Created on September 7, 2007, 10:21 AM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package org.atomojo.www.apps.login;

import java.net.URI;
import java.util.List;
import org.atomojo.app.client.Link;
import org.atomojo.app.client.LinkSet;
import org.restlet.Client;
import org.restlet.Request;
import org.restlet.Response;
import org.restlet.data.Cookie;
import org.restlet.data.CookieSetting;
import org.restlet.data.Method;
import org.restlet.data.Reference;
import org.restlet.data.Status;
import org.restlet.representation.Representation;
import org.restlet.resource.ServerResource;

/**
*
* @author alex
*/
public class LogoutAction extends ActionResource
{
  
   /** Creates a new instance of LoginForm */
   public LogoutAction()
   {
   }

   public Representation get()
   {
      Reference service = ActionResource.getReferenceAttribute(getRequest(),"auth-service",confService);
      String name = getCookieName();
      Cookie cookie = null;
      if (name!=null) {
         cookie = getRequest().getCookies().getFirst(name);
         CookieSetting unset = new CookieSetting(name,"");
         unset.setMaxAge(0);
         unset.setPath(getCookiePath());
         getResponse().getCookieSettings().add(unset);
      }
      getResponse().setStatus(Status.SUCCESS_NO_CONTENT);
      if (cookie!=null && service!=null) {
         Client client = new Client(getContext().createChildContext(),service.getSchemeProtocol());
         client.getContext().getAttributes().put("hostnameVerifier", org.apache.commons.ssl.HostnameVerifier.DEFAULT);
         Response response = client.handle(new Request(Method.DELETE,service+"/"+cookie.getValue()));
         if (!response.getStatus().isSuccess() && response.getStatus().getCode()!=404) {
            getLogger().warning("Auth service returned "+response.getStatus().getCode()+" for session "+cookie.getValue());
         }
      }
      return null;
   }  
  
}
TOP

Related Classes of org.atomojo.www.apps.login.LogoutAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.