Skip to content

Instantly share code, notes, and snippets.

@dustismo
Created September 13, 2011 21:05
Show Gist options
  • Save dustismo/1215167 to your computer and use it in GitHub Desktop.
Save dustismo/1215167 to your computer and use it in GitHub Desktop.
Convert Scribe oauth request to a HttpUriRequest
OAuthRequest oauthrequest = new OAuthRequest(Verb.GET, "https://api.twitter.com/1/account/verify_credentials.xml");
service.signRequest(accessToken, oauthrequest);
//now convert request to httpclient request.
DefaultHttpClient client = new DefaultHttpClient();
HttpUriRequest request = null;
if (oauthrequest.getVerb() == Verb.GET) {
HttpGet req = new HttpGet();
System.out.println(oauthrequest.getUrl());
req.setURI(new URI(oauthrequest.getUrl()));
for (String k : oauthrequest.getHeaders().keySet()) {
req.addHeader(k, oauthrequest.getHeaders().get(k));
}
request = req;
} else if (oauthrequest.getVerb() == Verb.POST) {
HttpPost req = new HttpPost();
System.out.println(oauthrequest.getUrl());
req.setURI(new URI(oauthrequest.getUrl()));
String c = oauthrequest.getBodyContents();
req.setEntity(new StringEntity(c));
for (String k : oauthrequest.getHeaders().keySet()) {
req.addHeader(k, oauthrequest.getHeaders().get(k));
}
request = req;
}
HttpResponse res = client.execute(request);
//aweful mess to get the body content as a string
InputStreamReader r = new InputStreamReader(res.getEntity().getContent());
BufferedReader reader = new BufferedReader(r);
StringBuilder builder = new StringBuilder();
String str = "";
while (str != null) {
try {
str = reader.readLine();
if (str != null)
builder.append(str);
} catch (Exception x) {
x.printStackTrace();
}
}
//show the result
System.out.println( builder.toString());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment