Module: Couch::BasicRequest
- Included in:
- Server
- Defined in:
- lib/couch.rb
Defined Under Namespace
Instance Method Summary collapse
- #create_postfix(query_params, default = '') ⇒ Object
- #delete(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
- #get(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
- #handle_error(req, res) ⇒ Object
- #head(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: true) ⇒ Object
- #post(uri, json, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
- #posty_request(json, req, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
- #put(uri, json, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
- #request(req, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
Instance Method Details
#create_postfix(query_params, default = '') ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/couch.rb', line 66 def create_postfix(query_params, default='') if query_params params_a = [] query_params.each do |key, value| params_a << "#{key}=#{value}" end postfix = "?#{params_a.join('&')}" else postfix = default end postfix end |
#delete(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
19 20 21 22 23 |
# File 'lib/couch.rb', line 19 def delete(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) req=Net::HTTP::Delete.new(uri) req.basic_auth @options[:name], @options[:password] request(req, open_timeout: open_timeout, read_timeout: read_timeout, fail_silent: fail_silent) end |
#get(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
31 32 33 34 35 |
# File 'lib/couch.rb', line 31 def get(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) req = Net::HTTP::Get.new(uri) req.basic_auth @options[:name], @options[:password] request(req, open_timeout: open_timeout, read_timeout: read_timeout, fail_silent: fail_silent) end |
#handle_error(req, res) ⇒ Object
79 80 81 |
# File 'lib/couch.rb', line 79 def handle_error(req, res) raise RuntimeError.new("#{res.code}:#{res.}\nMETHOD:#{req.method}\nURI:#{req.path}\n#{res.body}") end |
#head(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: true) ⇒ Object
25 26 27 28 29 |
# File 'lib/couch.rb', line 25 def head(uri, open_timeout: 5*30, read_timeout: 5*30, fail_silent: true) req = Net::HTTP::Head.new(uri) req.basic_auth @options[:name], @options[:password] request(req, open_timeout: open_timeout, read_timeout: read_timeout, fail_silent: fail_silent) end |
#post(uri, json, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
41 42 43 |
# File 'lib/couch.rb', line 41 def post(uri, json, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) posty_request(json, Net::HTTP::Post.new(uri), open_timeout: open_timeout, read_timeout: read_timeout, fail_silent: fail_silent) end |
#posty_request(json, req, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/couch.rb', line 45 def posty_request(json, req, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) req.basic_auth @options[:name], @options[:password] req['Content-Type'] = 'application/json;charset=utf-8' req.body = json request(req, open_timeout: open_timeout, read_timeout: read_timeout, fail_silent: fail_silent) end |
#put(uri, json, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
37 38 39 |
# File 'lib/couch.rb', line 37 def put(uri, json, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) posty_request(json, Net::HTTP::Put.new(uri), open_timeout: open_timeout, read_timeout: read_timeout, fail_silent: fail_silent) end |
#request(req, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/couch.rb', line 52 def request(req, open_timeout: 5*30, read_timeout: 5*30, fail_silent: false) res = Net::HTTP.start(@url.host, @url.port, :use_ssl => @url.scheme =='https') do |http| http.open_timeout = open_timeout http.read_timeout = read_timeout http.request(req) end unless fail_silent or res.kind_of?(Net::HTTPSuccess) # puts "CouchDb responsed with error code #{res.code}" handle_error(req, res) end res end |