/**
*
*/
package org.archive.petabox;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpMessage;
/**
* PetaoxAuthProvider that authenticate requests with two cookies: {@code logged-in-user}
* and {@code logged-in-sig}.
* changed from interface to abstract class as it is replaced by more general interface
* {@link PetaboxAuthProvider}.
* @author Kenji Nagahashi
*
*/
public abstract class PetaboxCredentialProvider implements PetaboxAuthProvider {
private static final Log LOG = LogFactory.getLog(PetaboxCredentialProvider.class);
/**
* value to be sent in logged-in-user cookie.
* @return
*/
public abstract String getUser();
/**
* value to be sent in logged-in-sig cookie.
* @return
*/
public abstract String getSignature();
public void addAuthCookies(HttpMessage msg) {
StringBuilder value = new StringBuilder();
String user = getUser();
if (user != null) {
value.append("logged-in-user=").append(user).append("; ");
LOG.debug("logged-in-user=" + user);
}
String sig = getSignature();
if (sig != null) {
value.append("logged-in-sig=").append(sig);
LOG.debug("logged-in-sig=" + sig);
}
LOG.debug("adding auth cookies:" + value.toString());
msg.addHeader("Cookie", value.toString());
}
}