
com.joyent.http.signature.apache.httpclient.HttpSignatureAuthSchemeProviderLookup Maven / Gradle / Ivy
The newest version!
/*
* Copyright (c) 2016-2017, Joyent, Inc. All rights reserved.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.joyent.http.signature.apache.httpclient;
import com.joyent.http.signature.ThreadLocalSigner;
import org.apache.http.auth.AuthSchemeProvider;
import org.apache.http.config.Lookup;
import java.security.KeyPair;
/**
* {@link org.apache.http.config.Lookup} implementation that provides a
* default mapping to an HTTP signatures
* {@link org.apache.http.auth.AuthSchemeProvider}.
*
* @author Elijah Zupancic
* @since 2.0.3
*/
public class HttpSignatureAuthSchemeProviderLookup implements Lookup {
/**
* Backing instance of provider used for all lookups.
*/
private final HttpSignatureAuthSchemeProvider authSchemeProvider;
/**
* Create a new instance of the lookup with the passed provider.
* @param authSchemeProvider provider to use to back lookup calls
*/
public HttpSignatureAuthSchemeProviderLookup(
final HttpSignatureAuthSchemeProvider authSchemeProvider) {
this.authSchemeProvider = authSchemeProvider;
}
/**
* Create a new instance of the lookup with a new provider setup with the
* passed key.
* @param keyPair Public/private keypair object used to sign HTTP requests.
* @param useNativeCodeToSign true to enable native code acceleration of cryptographic singing
*
* @deprecated Prefer {@link #HttpSignatureAuthSchemeProviderLookup(KeyPair, ThreadLocalSigner)}
*/
@Deprecated
public HttpSignatureAuthSchemeProviderLookup(
final KeyPair keyPair, final boolean useNativeCodeToSign) {
this.authSchemeProvider = new HttpSignatureAuthSchemeProvider(
keyPair, useNativeCodeToSign);
}
/**
* Create a new instance of the lookup with a new provider setup with the
* passed key.
*
* @param keyPair Public/private keypair object used to sign HTTP requests.
* @param signer Configured Signer instance
*/
public HttpSignatureAuthSchemeProviderLookup(
final KeyPair keyPair, final ThreadLocalSigner signer) {
this.authSchemeProvider = new HttpSignatureAuthSchemeProvider(
keyPair, signer);
}
@Override
public AuthSchemeProvider lookup(final String name) {
if (name.equalsIgnoreCase(HttpSignatureAuthScheme.SCHEME_NAME)) {
return authSchemeProvider;
} else {
return null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy