// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.kpdus.com/jad.html // Decompiler options: packimports(3) // Source File Name: CommonsHttpOAuthProvider.java package edu.minggo.tencent.weibo; import java.io.IOException; import java.net.URLDecoder; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.http.HttpEntity; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; // Referenced classes of package oauth.signpost.commonshttp: // HttpRequestAdapter, HttpResponseAdapter public class CommonsHttpOAuthProvider extends AbstractOAuthProvider { public CommonsHttpOAuthProvider(String requestTokenEndpointUrl, String accessTokenEndpointUrl, String authorizationWebsiteUrl) { super(requestTokenEndpointUrl, accessTokenEndpointUrl, authorizationWebsiteUrl); httpClient = new DefaultHttpClient(); } public CommonsHttpOAuthProvider(String requestTokenEndpointUrl, String accessTokenEndpointUrl, String authorizationWebsiteUrl, HttpClient httpClient) { super(requestTokenEndpointUrl, accessTokenEndpointUrl, authorizationWebsiteUrl); this.httpClient = httpClient; } public void setHttpClient(HttpClient httpClient) { this.httpClient = httpClient; } protected HttpRequest createRequest(String endpointUrl) throws Exception { HttpPost request = new HttpPost(endpointUrl); request.addHeader("Content-Type", "application/x-www-form-urlencoded"); return new HttpRequestAdapter(request); } @SuppressWarnings({ "rawtypes", "unchecked" }) protected HttpResponse sendRequest(HttpRequest request) throws Exception { Map headers = request.getAllHeaders(); String oauthHeader = (String) headers.get("Authorization"); headers.remove("Authorization"); HttpParameters httpParams = OAuth.oauthHeaderToParamsMap(oauthHeader); List formParams = new ArrayList(); Set keys = httpParams.keySet(); String key; String value; for (Iterator iterator = keys.iterator(); iterator.hasNext(); formParams .add(new BasicNameValuePair(key, URLDecoder.decode(value, "UTF-8")))) { key = (String) iterator.next(); value = httpParams.getFirst(key); /* * if(key.equals("oauth_timestamp")){ long longValue = * Integer.parseInt(value); longValue = longValue - 8 * 60 * 60; * value = new Long(longValue).toString(); } */ } UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formParams, "UTF-8"); HttpPost postRequest = (HttpPost) request.unwrap(); postRequest.setEntity(entity); org.apache.http.HttpResponse response = httpClient.execute(postRequest); return new HttpResponseAdapter(response); } protected void closeConnection(HttpRequest request, HttpResponse response) throws Exception { if (response != null) { HttpEntity entity = ((org.apache.http.HttpResponse) response .unwrap()).getEntity(); if (entity != null) try { entity.consumeContent(); } catch (IOException e) { e.printStackTrace(); } } } private static final long serialVersionUID = 1L; private transient HttpClient httpClient; }