Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package ru.hh.oauth.subscribe.apis.service;
 
 import java.util.Map;
 import static org.apache.commons.codec.digest.DigestUtils.md5Hex;
public class MailruOAuthServiceImpl extends OAuth20ServiceImpl {
    public MailruOAuthServiceImpl(DefaultApi20 apiOAuthConfig config) {
        super(apiconfig);
    }
    @Override
    public void signRequest(final Token accessTokenfinal AbstractRequest request) {
        // sig = md5(params + secret_key)
        request.addQuerystringParameter("session_key"accessToken.getToken());
        request.addQuerystringParameter("app_id"getConfig().getApiKey());
        String completeUrl = request.getCompleteUrl();
        try {
            final String clientSecret = getConfig().getApiSecret();
            final int queryIndex = completeUrl.indexOf('?');
            if (queryIndex != -1) {
                String urlPart = completeUrl.substring(queryIndex + 1);
                Map<StringStringmap = new TreeMap<>();
                for (String param : urlPart.split("&")) {
                    String[] parts = param.split("=");
                    map.put(parts[0], (parts.length == 1) ? "" : parts[1]);
                }
                StringBuilder urlNew = new StringBuilder();
                for (Map.Entry<StringStringentry : map.entrySet()) {
                    urlNew.append(entry.getKey());
                    urlNew.append('=');
                    urlNew.append(entry.getValue());
                }
                final String sigSource = URLDecoder.decode(urlNew.toString(), .) + clientSecret;
                request.addQuerystringParameter("sig"md5Hex(sigSource));
            }
        } catch (UnsupportedEncodingException e) {
            throw new IllegalStateException(e);
        }
    }
    @Override
    protected <T extends AbstractRequest> T createAccessTokenRequest(final Verifier verifier, T request) {
        super.createAccessTokenRequest(verifierrequest);
        if (!getConfig().hasGrantType()) {
            request.addParameter(."authorization_code");
        }
        return (T) request;
    }
New to GrepCode? Check out our FAQ X