All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mapfish.print.http.MfCredentialsProvider Maven / Gradle / Ivy

package org.mapfish.print.http;

import com.google.common.collect.Lists;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.Credentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.SystemDefaultCredentialsProvider;
import org.mapfish.print.config.Configuration;

import java.util.List;


/**
 * A Route planner that obtains credentials from the configuration that is currently in
 * {@link org.mapfish.print.http.MfClientHttpRequestFactoryImpl#CURRENT_CONFIGURATION}.
 * 

* If authentication is not found in configuratin then it will fall back to * {@link org.apache.http.impl.client.SystemDefaultCredentialsProvider} *

* {@link MfClientHttpRequestFactoryImpl.Request} will set the correct configuration * before the request is executed so that correct proxies will be set. * * @author Jesse on 9/4/2014. */ public final class MfCredentialsProvider implements CredentialsProvider { private final CredentialsProvider fallback = new SystemDefaultCredentialsProvider(); @Override public void setCredentials(final AuthScope authscope, final Credentials credentials) { throw new UnsupportedOperationException("Credentials should be set the default Java way or in the configuration yaml file."); } @Override public Credentials getCredentials(final AuthScope authscope) { Configuration config = MfClientHttpRequestFactoryImpl.getCurrentConfiguration(); if (config != null) { List allCredentials = Lists.newArrayList(config.getCredentials()); allCredentials.addAll(config.getProxies()); for (HttpCredential credential : allCredentials) { final Credentials credentials = credential.toCredentials(authscope); if (credentials != null) { return credentials; } } } return this.fallback.getCredentials(authscope); } @Override public void clear() { throw new UnsupportedOperationException("Credentials should be set the default Java way or in the configuration yaml file."); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy