blob: 2f52c3d41ff846186179fc745a6a47d9d0aba0ba [file] [log] [blame]
package org.jclouds.vcloud.director.v1_5.filters;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.core.HttpHeaders;
import org.jclouds.http.HttpException;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpRequestFilter;
import org.jclouds.vcloud.director.v1_5.annotations.Session;
import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableMultimap;
/**
*
* @author Adrian Cole
*/
@Singleton
public class AddVCloudAuthorizationAndCookieToRequest implements HttpRequestFilter {
private final Supplier<String> sessionSupplier;
@Inject
public AddVCloudAuthorizationAndCookieToRequest(@Session Supplier<String> sessionSupplier) {
this.sessionSupplier = sessionSupplier;
}
@Override
public HttpRequest filter(HttpRequest request) throws HttpException {
String token = sessionSupplier.get();
return request
.toBuilder()
.replaceHeaders(
ImmutableMultimap.of("x-vcloud-authorization", token, HttpHeaders.COOKIE, "vcloud-token="
+ token)).build();
}
}