/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.vipr.client.impl.jersey;
import com.emc.vipr.client.impl.Constants;
import com.sun.jersey.api.client.ClientHandlerException;
import com.sun.jersey.api.client.ClientRequest;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.filter.ClientFilter;
/**
* Jersey filter for adding the proxy token to the request.
*/
public class ProxyTokenFilter extends ClientFilter {
private TokenAccess tokenAccess;
public ProxyTokenFilter(TokenAccess tokenAccess) {
this.tokenAccess = tokenAccess;
}
@Override
public ClientResponse handle(ClientRequest request) throws ClientHandlerException {
addTokenToRequest(request);
return getNext().handle(request);
}
private void addTokenToRequest(ClientRequest request) {
String proxyToken = tokenAccess.getToken();
if (proxyToken != null) {
request.getHeaders().putSingle(Constants.PROXY_TOKEN_KEY, proxyToken);
}
}
}