aboutsummaryrefslogtreecommitdiffstats
path: root/twittperator.js
diff options
context:
space:
mode:
authoranekos2010-08-04 10:42:25 +0000
committeranekos2010-08-04 10:42:25 +0000
commit61cb5ed7f433e05a2e8e770c3b36d2482b3e79d5 (patch)
tree0b2e8429c0ee43f1dc30413038ecb808d75dc4c8 /twittperator.js
parent48986ff2a6e75dda948b68906b5356abddfc1807 (diff)
downloadvimperator-plugins-61cb5ed7f433e05a2e8e770c3b36d2482b3e79d5.tar.bz2
ChirpUserStream を OAuth 対応
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@38167 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'twittperator.js')
-rwxr-xr-xtwittperator.js34
1 files changed, 11 insertions, 23 deletions
diff --git a/twittperator.js b/twittperator.js
index fb96af9..05d7539 100755
--- a/twittperator.js
+++ b/twittperator.js
@@ -984,19 +984,20 @@
};
xmlhttpRequest(options); // 送信
},
- getUrl: function (api) {
+ getAuthorizationHeader: function (api) {
var message = {
method: "GET",
action: api,
parameters: {
oauth_signature_method: "HMAC-SHA1",
oauth_consumer_key: this.accessor.get("consumerKey",""),// queryの構築
- oauth_token: this.accessor.get("token","") // Access Token
+ oauth_token: this.accessor.get("token",""), // Access Token
+ oauth_version: "1.0"
}
};
OAuth.setTimestampAndNonce(message);
OAuth.SignatureMethod.sign(message, this.getAccessor());
- return OAuth.addToURL(message.action, message.parameters);
+ return OAuth.getAuthorizationHeader("Twitter", message.parameters);
},
// utility関数
// http://kevin.vanzonneveld.net
@@ -1071,13 +1072,6 @@
// ChirpUserStream // {{{
// XXX if (0) の部分は認証に対するテストコード
let ChirpUserStream = (function() {
- function getUserInfo() {
- let host = ["http://twitter.com", "https://twitter.com"];
- let loginManager = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager);
- let login = loginManager.findLogins({}, host[0], host[1], null)[0];
- return login;
- }
-
function extractURL(s)
let (m = s.match(/https?:\/\/[\S]+/))
(m && m[0]);
@@ -1103,9 +1097,13 @@
let host = "chirpstream.twitter.com";
let path = "/2b/user.json";
- let {username, password} = getUserInfo() || {};
- if (!(username && password))
- return liberator.echoerr('Not found basic authorization setting in Firefox');
+ let get = [
+ "GET " + path + " HTTP/1.1",
+ "Host: " + host,
+ "Authorization: " + tw.getAuthorizationHeader("http://" + host + path),
+ "",
+ ""
+ ].join("\n");
let socketService =
let (stsvc = Cc["@mozilla.org/network/socket-transport-service;1"])
@@ -1121,16 +1119,6 @@
sis.init(is);
sos.setOutputStream(os);
- let params = ["Authorization: Basic " + btoa(username + ":" + password)];
-
- let get = [
- "GET " + path + " HTTP/1.1",
- "Host: " + host,
- params.join("\n"),
- "",
- ""
- ].join("\n");
-
sos.write(get, get.length);
let buf = "";