Commit 4f9e4eaa authored by Brian Long's avatar Brian Long
Browse files

added javadocs

parent 2e0c9891
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -118,6 +118,19 @@
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>javadoc</id>
						<phase>package</phase>
						<goals><goal>jar</goal></goals>
						<configuration>
							<show>public</show>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
	
+0 −19
Original line number Diff line number Diff line
package com.inteligr8.rs;

import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.core.HttpHeaders;

public class AccessTokenRequestFilter implements AuthorizationFilter {
	
	private final String token;
	
	public AccessTokenRequestFilter(String token) {
		this.token = token;
	}
	
	@Override
	public void filter(ClientRequestContext requestContext) {
		requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + this.token);
	}

}
+6 −0
Original line number Diff line number Diff line
@@ -2,6 +2,12 @@ package com.inteligr8.rs;

import javax.ws.rs.client.ClientRequestFilter;

/**
 * This is a marker that allows the developer to segregate, restrict, or limit
 * authorization specific implementations of the ClientRequestFilter.
 * 
 * @author brian@inteligr8.com
 */
public interface AuthorizationFilter extends ClientRequestFilter {

}
+18 −2
Original line number Diff line number Diff line
@@ -6,16 +6,32 @@ import java.util.Base64;
import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.core.HttpHeaders;

public class BasicAuthRequestFilter implements AuthorizationFilter {
/**
 * This class implements a simple 2-credential (username &amp; password) based
 * authorization filter.
 *  
 * @author brian@inteligr8.com
 */
public class BasicAuthorizationFilter implements AuthorizationFilter {
	
	private final String username;
	private final String password;
	
	public BasicAuthRequestFilter(String username, String password) {
	/**
	 * @param username A username or access key.
	 * @param password A password or secret key.
	 */
	public BasicAuthorizationFilter(String username, String password) {
		this.username = username;
		this.password = password;
	}
	
	/**
	 * This method applies the 'Authorization' header to the {@link ClientRequestContext}.
	 * 
	 * @param requestContext A request context.
	 * @throws UnsupportedEncodingException The 'utf-8' encoding is not supported.
	 */
	@Override
	public void filter(ClientRequestContext requestContext) throws UnsupportedEncodingException {
		String userAndPass = this.username + ":" + this.password;
+40 −0
Original line number Diff line number Diff line
package com.inteligr8.rs;

import java.io.UnsupportedEncodingException;

import javax.ws.rs.client.ClientRequestContext;
import javax.ws.rs.core.HttpHeaders;

/**
 * This class implements a simple long living or proxied token-based
 * authorization filter.  The token is expected to be acquired outside of the
 * purview of this library.
 * 
 * If you have the full authorization header and not just the bearer token, use
 * the {@link ForwardingAuthorizationFilter}.
 *  
 * @author brian@inteligr8.com
 */
public class BearerTokenAuthorizationFilter implements AuthorizationFilter {
	
	private final String token;
	
	/**
	 * @param token A 'Bearer' token.
	 */
	public BearerTokenAuthorizationFilter(String token) {
		this.token = token;
	}

	/**
	 * This method applies the 'Authorization' header to the {@link ClientRequestContext}.
	 * 
	 * @param requestContext A request context.
	 * @throws UnsupportedEncodingException The 'utf-8' encoding is not supported.
	 */
	@Override
	public void filter(ClientRequestContext requestContext) {
		requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + this.token);
	}

}
Loading