| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,5 +1,6 @@ | |||
| 1 | 1 | [SNAPSHOT] | |
| 2 | 2 | * allow 'null' as callback. It's an optional parameter. Remove "oob" as default (thanks to https://github.com/massongit) | |
| 3 | + * java7 compatible again! | ||
| 3 | 4 | ||
| 4 | 5 | [5.1.0] | |
| 5 | 6 | * drop optional dependency on Apache commons-codec | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -110,7 +110,7 @@ | |||
| 110 | 110 | <dependency> | |
| 111 | 111 | <groupId>com.puppycrawl.tools</groupId> | |
| 112 | 112 | <artifactId>checkstyle</artifactId> | |
| 113 | - <version>8.7</version> | ||
| 113 | + <version>6.19</version> | ||
| 114 | 114 | </dependency> | |
| 115 | 115 | </dependencies> | |
| 116 | 116 | </plugin> | |
@@ -129,8 +129,8 @@ | |||
| 129 | 129 | <version>3.7.0</version> | |
| 130 | 130 | <configuration> | |
| 131 | 131 | <encoding>UTF-8</encoding> | |
| 132 | - <source>1.8</source> | ||
| 133 | - <target>1.8</target> | ||
| 132 | + <source>1.7</source> | ||
| 133 | + <target>1.7</target> | ||
| 134 | 134 | <showDeprecation>true</showDeprecation> | |
| 135 | 135 | </configuration> | |
| 136 | 136 | </plugin> | |
@@ -192,6 +192,7 @@ | |||
| 192 | 192 | <id>validate</id> | |
| 193 | 193 | <phase>validate</phase> | |
| 194 | 194 | <configuration> | |
| 195 | + <excludes>main/java/com/github/scribejava/core/java8/*</excludes> | ||
| 195 | 196 | <sourceDirectory>${basedir}/src</sourceDirectory> | |
| 196 | 197 | <configLocation>checkstyle.xml</configLocation> | |
| 197 | 198 | <encoding>UTF-8</encoding> | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -12,7 +12,6 @@ | |||
| 12 | 12 | import java.security.MessageDigest; | |
| 13 | 13 | import java.security.NoSuchAlgorithmException; | |
| 14 | 14 | import java.util.Formatter; | |
| 15 | - import java.util.stream.Collectors; | ||
| 16 | 15 | ||
| 17 | 16 | public class MailruOAuthService extends OAuth20Service { | |
| 18 | 17 | ||
@@ -37,10 +36,15 @@ public void signRequest(String accessToken, OAuthRequest request) { | |||
| 37 | 36 | final String[] parts = param.split("="); | |
| 38 | 37 | map.put(parts[0], (parts.length == 1) ? "" : parts[1]); | |
| 39 | 38 | } | |
| 40 | - final String urlNew = map.entrySet().stream() | ||
| 41 | - .map(entry -> entry.getKey() + '=' + entry.getValue()) | ||
| 42 | - .collect(Collectors.joining()); | ||
| 43 | - final String sigSource = URLDecoder.decode(urlNew, "UTF-8") + clientSecret; | ||
| 39 | + | ||
| 40 | + final StringBuilder urlNew = new StringBuilder(); | ||
| 41 | + for (Map.Entry<String, String> entry : map.entrySet()) { | ||
| 42 | + urlNew.append(entry.getKey()); | ||
| 43 | + urlNew.append('='); | ||
| 44 | + urlNew.append(entry.getValue()); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + final String sigSource = URLDecoder.decode(urlNew.toString(), "UTF-8") + clientSecret; | ||
| 44 | 48 | request.addQuerystringParameter("sig", md5(sigSource)); | |
| 45 | 49 | } | |
| 46 | 50 | } catch (UnsupportedEncodingException e) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,7 +15,6 @@ | |||
| 15 | 15 | import java.util.Collections; | |
| 16 | 16 | import java.util.Formatter; | |
| 17 | 17 | import java.util.List; | |
| 18 | - import java.util.stream.Collectors; | ||
| 19 | 18 | ||
| 20 | 19 | public class OdnoklassnikiOAuthService extends OAuth20Service { | |
| 21 | 20 | ||
@@ -35,11 +34,14 @@ public void signRequest(String accessToken, OAuthRequest request) { | |||
| 35 | 34 | ||
| 36 | 35 | Collections.sort(allParams); | |
| 37 | 36 | ||
| 38 | - final String stringParams = allParams.stream() | ||
| 39 | - .map(param -> param.getKey() + '=' + param.getValue()) | ||
| 40 | - .collect(Collectors.joining()); | ||
| 37 | + final StringBuilder stringParams = new StringBuilder(); | ||
| 38 | + for (Parameter param : allParams) { | ||
| 39 | + stringParams.append(param.getKey()) | ||
| 40 | + .append('=') | ||
| 41 | + .append(param.getValue()); | ||
| 42 | + } | ||
| 41 | 43 | ||
| 42 | - final String sigSource = URLDecoder.decode(stringParams, "UTF-8") + tokenDigest; | ||
| 44 | + final String sigSource = URLDecoder.decode(stringParams.toString(), "UTF-8") + tokenDigest; | ||
| 43 | 45 | request.addQuerystringParameter("sig", md5(sigSource).toLowerCase()); | |
| 44 | 46 | ||
| 45 | 47 | super.signRequest(accessToken, request); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,10 +15,11 @@ | |||
| 15 | 15 | import com.github.scribejava.core.model.Verb; | |
| 16 | 16 | import com.github.scribejava.core.oauth.OAuth20Service; | |
| 17 | 17 | import java.io.IOException; | |
| 18 | + import java.util.ArrayList; | ||
| 19 | + import java.util.Collections; | ||
| 18 | 20 | import java.util.Formatter; | |
| 21 | + import java.util.List; | ||
| 19 | 22 | import java.util.concurrent.ExecutionException; | |
| 20 | - import java.util.stream.Collectors; | ||
| 21 | - import java.util.stream.Stream; | ||
| 22 | 23 | ||
| 23 | 24 | public final class RenrenExample { | |
| 24 | 25 | ||
@@ -68,17 +69,20 @@ public static void main(String... args) throws IOException, InterruptedException | |||
| 68 | 69 | parameters.put("format", "json"); | |
| 69 | 70 | parameters.put("v", "1.0"); | |
| 70 | 71 | ||
| 71 | - parameters.forEach((key, value) -> request.addQuerystringParameter(key, value)); | ||
| 72 | - | ||
| 73 | - final String sig = Stream.concat( | ||
| 74 | - Stream.concat( | ||
| 75 | - parameters.entrySet().stream() | ||
| 76 | - .map(entry -> String.format("%s=%s", entry.getKey(), entry.getValue())), | ||
| 77 | - Stream.of(String.format("%s=%s", OAuthConstants.ACCESS_TOKEN, accessToken.getAccessToken()))) | ||
| 78 | - .sorted(), | ||
| 79 | - Stream.of(apiSecret)) | ||
| 80 | - .collect(Collectors.joining()); | ||
| 72 | + final List<String> sigString = new ArrayList<>(parameters.size() + 1); | ||
| 73 | + for (Map.Entry<String, String> parameter : parameters.entrySet()) { | ||
| 74 | + request.addQuerystringParameter(parameter.getKey(), parameter.getValue()); | ||
| 75 | + sigString.add(String.format("%s=%s", parameter.getKey(), parameter.getValue())); | ||
| 76 | + } | ||
| 77 | + sigString.add(String.format("%s=%s", OAuthConstants.ACCESS_TOKEN, accessToken.getAccessToken())); | ||
| 78 | + Collections.sort(sigString); | ||
| 79 | + final StringBuilder sigBuilder = new StringBuilder(); | ||
| 80 | + for (String param : sigString) { | ||
| 81 | + sigBuilder.append(param); | ||
| 82 | + } | ||
| 83 | + sigBuilder.append(apiSecret); | ||
| 81 | 84 | ||
| 85 | + final String sig = sigBuilder.toString(); | ||
| 82 | 86 | System.out.println("Sig string: " + sig); | |
| 83 | 87 | request.addQuerystringParameter("sig", md5(sig)); | |
| 84 | 88 | service.signRequest(accessToken, request); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -129,11 +129,11 @@ public ServiceBuilder debug() { | |||
| 129 | 129 | } | |
| 130 | 130 | ||
| 131 | 131 | /** | |
| 132 | - * Returns the fully configured {@link S} | ||
| 132 | + * Returns the fully configured {@link OAuthService} | ||
| 133 | 133 | * | |
| 134 | 134 | * @param <S> OAuthService implementation (OAuth1/OAuth2/any API specific) | |
| 135 | 135 | * @param api will build Service for this API | |
| 136 | - * @return fully configured {@link S} | ||
| 136 | + * @return fully configured {@link OAuthService} | ||
| 137 | 137 | */ | |
| 138 | 138 | public <S extends OAuthService> S build(BaseApi<S> api) { | |
| 139 | 139 | return api.createService(new OAuthConfig(apiKey, apiSecret, callback, scope, debugStream, state, responseType, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,10 +1,10 @@ | |||
| 1 | 1 | package com.github.scribejava.core.builder.api; | |
| 2 | 2 | ||
| 3 | + import com.github.scribejava.core.java8.Base64; | ||
| 3 | 4 | import com.github.scribejava.core.model.OAuthConfig; | |
| 4 | 5 | import com.github.scribejava.core.model.OAuthConstants; | |
| 5 | 6 | import com.github.scribejava.core.model.OAuthRequest; | |
| 6 | 7 | import java.nio.charset.Charset; | |
| 7 | - import java.util.Base64; | ||
| 8 | 8 | ||
| 9 | 9 | /** | |
| 10 | 10 | * Represents<br> | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,7 +6,6 @@ | |||
| 6 | 6 | import com.github.scribejava.core.model.OAuthRequest; | |
| 7 | 7 | import com.github.scribejava.core.utils.OAuthEncoder; | |
| 8 | 8 | import com.github.scribejava.core.utils.Preconditions; | |
| 9 | - import java.util.stream.Collectors; | ||
| 10 | 9 | ||
| 11 | 10 | /** | |
| 12 | 11 | * Default implementation of {@link HeaderExtractor}. Conforms to OAuth 1.0a | |
@@ -24,15 +23,26 @@ public String extract(OAuthRequest request) { | |||
| 24 | 23 | checkPreconditions(request); | |
| 25 | 24 | final Map<String, String> parameters = request.getOauthParameters(); | |
| 26 | 25 | ||
| 27 | - final String paramsString = parameters.entrySet().stream() | ||
| 28 | - .map(entry -> String.format("%s=\"%s\"", entry.getKey(), OAuthEncoder.encode(entry.getValue()))) | ||
| 29 | - .collect(Collectors.joining(PARAM_SEPARATOR, PREAMBLE, "")); | ||
| 26 | + final StringBuilder header = new StringBuilder(PREAMBLE); | ||
| 30 | 27 | ||
| 31 | - if (request.getRealm() == null || request.getRealm().isEmpty()) { | ||
| 32 | - return paramsString; | ||
| 28 | + for (Map.Entry<String, String> parameter : parameters.entrySet()) { | ||
| 29 | + if (header.length() > PREAMBLE.length()) { | ||
| 30 | + header.append(PARAM_SEPARATOR); | ||
| 31 | + } | ||
| 32 | + header.append(parameter.getKey()) | ||
| 33 | + .append("=\"") | ||
| 34 | + .append(OAuthEncoder.encode(parameter.getValue())) | ||
| 35 | + .append('"'); | ||
| 33 | 36 | } | |
| 34 | 37 | ||
| 35 | - return paramsString + PARAM_SEPARATOR + String.format("%s=\"%s\"", OAuthConstants.REALM, request.getRealm()); | ||
| 38 | + if (request.getRealm() != null && !request.getRealm().isEmpty()) { | ||
| 39 | + header.append(PARAM_SEPARATOR) | ||
| 40 | + .append(OAuthConstants.REALM) | ||
| 41 | + .append("=\"") | ||
| 42 | + .append(request.getRealm()) | ||
| 43 | + .append('"'); | ||
| 44 | + } | ||
| 45 | + return header.toString(); | ||
| 36 | 46 | } | |
| 37 | 47 | ||
| 38 | 48 | private void checkPreconditions(OAuthRequest request) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,6 +13,7 @@ | |||
| 13 | 13 | import java.net.URL; | |
| 14 | 14 | import java.net.UnknownHostException; | |
| 15 | 15 | import java.util.HashMap; | |
| 16 | + import java.util.List; | ||
| 16 | 17 | import java.util.Map; | |
| 17 | 18 | import java.util.concurrent.ExecutionException; | |
| 18 | 19 | import java.util.concurrent.Future; | |
@@ -140,18 +141,24 @@ abstract void setBody(HttpURLConnection connection, Object bodyContents, boolean | |||
| 140 | 141 | ||
| 141 | 142 | private static Map<String, String> parseHeaders(HttpURLConnection conn) { | |
| 142 | 143 | final Map<String, String> headers = new HashMap<>(); | |
| 143 | - conn.getHeaderFields().forEach((key, value) -> { | ||
| 144 | + | ||
| 145 | + for (Map.Entry<String, List<String>> headerField : conn.getHeaderFields().entrySet()) { | ||
| 146 | + final String key = headerField.getKey(); | ||
| 147 | + final String value = headerField.getValue().get(0); | ||
| 144 | 148 | if ("Content-Encoding".equalsIgnoreCase(key)) { | |
| 145 | - headers.put("Content-Encoding", value.get(0)); | ||
| 149 | + headers.put("Content-Encoding", value); | ||
| 146 | 150 | } else { | |
| 147 | - headers.put(key, value.get(0)); | ||
| 151 | + headers.put(key, value); | ||
| 148 | 152 | } | |
| 149 | - }); | ||
| 153 | + } | ||
| 150 | 154 | return headers; | |
| 151 | 155 | } | |
| 152 | 156 | ||
| 153 | 157 | private static void addHeaders(HttpURLConnection connection, Map<String, String> headers, String userAgent) { | |
| 154 | - headers.forEach((key, value) -> connection.setRequestProperty(key, value)); | ||
| 158 | + for (Map.Entry<String, String> header : headers.entrySet()) { | ||
| 159 | + connection.setRequestProperty(header.getKey(), header.getValue()); | ||
| 160 | + } | ||
| 161 | + | ||
| 155 | 162 | if (userAgent != null) { | |
| 156 | 163 | connection.setRequestProperty(OAuthConstants.USER_AGENT_HEADER_NAME, userAgent); | |
| 157 | 164 | } | |
| Back | FazBrowse Home | New Git URL |
0 commit comments