summaryrefslogtreecommitdiff
path: root/src/io/HttpURLConnectionPostRequestAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/HttpURLConnectionPostRequestAdapter.java')
-rw-r--r--src/io/HttpURLConnectionPostRequestAdapter.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/io/HttpURLConnectionPostRequestAdapter.java b/src/io/HttpURLConnectionPostRequestAdapter.java
new file mode 100644
index 0000000..51cbc7c
--- /dev/null
+++ b/src/io/HttpURLConnectionPostRequestAdapter.java
@@ -0,0 +1,34 @@
+package io;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import oauth.signpost.basic.HttpURLConnectionRequestAdapter;
+import org.apache.commons.io.Charsets;
+
+/**
+ * Adapts a HttpUrlConnection instance with the POST method for use with OAuth
+ * signing.
+ *
+ * @author Peter Wu
+ */
+public class HttpURLConnectionPostRequestAdapter extends
+ HttpURLConnectionRequestAdapter {
+
+ private final String postData;
+
+ public HttpURLConnectionPostRequestAdapter(HttpURLConnection connection,
+ String postData) {
+ super(connection);
+ this.postData = postData;
+ }
+
+ @Override
+ public InputStream getMessagePayload() throws IOException {
+ // the super function returned null because it was unable to get the
+ // post data...
+ byte[] buf = postData.getBytes(Charsets.UTF_8);
+ return new ByteArrayInputStream(buf);
+ }
+}