diff --git a/src/main/java/org/scribe/model/OAuthRequest.java b/src/main/java/org/scribe/model/OAuthRequest.java index 0e4041a..a712ae9 100644 --- a/src/main/java/org/scribe/model/OAuthRequest.java +++ b/src/main/java/org/scribe/model/OAuthRequest.java @@ -2,18 +2,38 @@ package org.scribe.model; import java.util.*; +/** + * The representation of an OAuth HttpRequest. + * + * Adds OAuth-related functionality to the {@link Request} + * + * @author Pablo Fernandez + */ public class OAuthRequest extends Request { - private static final String OAUTH_PREFIX = "oauth_"; private Map oauthParameters; + /** + * Default constructor. + * + * @param verb Http verb/method + * @param url resource URL + */ public OAuthRequest(Verb verb, String url) { super(verb, url); this.oauthParameters = new HashMap(); } + /** + * Adds an OAuth parameter. + * + * @param key name of the parameter + * @param value value of the parameter + * + * @throws IllegalArgumentException if the parameter is not an OAuth parameter + */ public void addOAuthParameter(String key, String value) { oauthParameters.put(checkKey(key), value); @@ -21,15 +41,20 @@ public class OAuthRequest extends Request private String checkKey(String key) { - if (!key.startsWith(OAUTH_PREFIX)) + if (!key.startsWith(OAUTH_PREFIX) || key.equals(OAuthConstants.SCOPE)) { - throw new IllegalArgumentException(String.format("OAuth parameters must start with '%s'", OAUTH_PREFIX)); + throw new IllegalArgumentException(String.format("OAuth parameters must either be %s or start with '%s'", OAuthConstants.SCOPE, OAUTH_PREFIX)); } else { return key; } } + /** + * Returns the {@link Map} containing the key-value pair of parameters. + * + * @return parameters as map + */ public Map getOauthParameters() { return oauthParameters;