しょーがないので、Google Code の OAuth を使うことにした
Rubygem の oauth を coffee に移植したいなーって思ったんだけど、時間かかりすぎ感あったので、
http://code.google.com/p/oauth/ を使うことにした。
以下は理解するために書いた oauth.js のコードを coffee-script に直してみたもの。
percentEncode: (s) -> return "" unless s? if s instanceof Array e = "" for i in s e += '&' unless e == "" e += OAuth.percentEncode s[i] return e s = s.replace /\!/g, "%21" s = s.replace /\*/g, "%2A" s = s.replace /\'/g, "%27" s = s.replace /\(/g, "%28" s = s.replace /\)/g, "%29" s
ぱーせんとえんこーど。
formEncode: (parameters...) -> form = "" list = OAuth.getParameterList parameter for param in list value = list[p][1] value = "" if value == null form += '&' unless form == "" form += OAuth.percentEncode( list[p][0] ) + '=' + OAuth.percentEncode( value ) form
ふぉーむえんこーど。
addToURL: (url, parameters...) -> new_url = url unless parameters == null to_add = OAuth.formEncode parameters if to_add.length > 0 query_index = url.indexOf '?' if query_index < 0 new_url += '?' else new_url += '&' new_url += to_add new_url
URL とパラメーターをまぜまぜしていい感じの URL を返す。