Changeset 7663
- Timestamp:
- 03/08/08 23:37:04 (5 years ago)
- Files:
-
- 1 modified
-
lang/ruby/net-irc/trunk/examples/tig.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/net-irc/trunk/examples/tig.rb
r7215 r7663 425 425 def api(path, q={}) 426 426 ret = {} 427 header s= {427 header = { 428 428 "User-Agent" => @user_agent, 429 "Authorization" => "Basic " + ["#{@real}:#{@pass}"].pack("m"), 430 "If-Modified-Since" => q.key?("since") ? q["since"] : "", 429 431 "X-Twitter-Client" => api_source, 430 432 "X-Twitter-Client-Version" => server_version, 431 433 "X-Twitter-Client-URL" => "http://coderepos.org/share/browser/lang/ruby/misc/tig.rb", 432 434 } 433 if q.key?("since") 434 headers["If-Modified-Since"] = q["since"].to_s #q.delete("since").to_s 435 end 435 436 436 q["source"] ||= api_source 437 437 q = q.inject([]) {|r,(k,v)| v.inject(r) {|r,i| r << "#{k}=#{URI.escape(i, /[^-.!~*'()\w]/n)}" } }.join("&") 438 438 439 uri = api_base.dup 439 uri.path = path.sub(%r{^/*}, "/") << ".json" 440 uri.path = path.sub(%r{^/*}, "/") << ".json" 441 uri.query = q 442 440 443 http = Net::HTTP.new(uri.host, uri.port) 441 444 if uri.scheme == "https" … … 443 446 http.verify_mode = OpenSSL::SSL::VERIFY_NONE # FIXME 444 447 end 445 case uri.path 446 when "/statuses/update.json", "/direct_messages/new.json" 447 req = Net::HTTP::Post.new(uri.request_uri, headers) 448 req.body = q 449 else 450 uri.query = q 451 req = Net::HTTP::Get.new(uri.request_uri, headers) 452 end 453 req.basic_auth(@real, @pass) 454 @log.debug uri.inspect 455 ret = http.request req 456 @log.debug ret.inspect 448 http.start do 449 case uri.path 450 when "/statuses/update.json", "/direct_messages/new.json" 451 ret = http.post(uri.request_uri, q, header) 452 else 453 ret = http.get(uri.request_uri, header) 454 end 455 end 456 457 457 case ret 458 458 when Net::HTTPOK # 200 459 JSON.parse(ret.body.gsub(/'(y(?:es)?|no?|true|false|null)'/, '"\1"')) 459 ret = JSON.parse(ret.body.gsub(/'(y(?:es)?|no?|true|false|null)'/, '"\1"')) 460 raise ApiFailed, "Server Returned Error: #{ret["error"]}" if ret.kind_of?(Hash) && ret["error"] 461 ret 460 462 when Net::HTTPNotModified # 304 461 463 []
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)