Class: BOTR::HTTPBackend
- Inherits:
-
Object
- Object
- BOTR::HTTPBackend
- Defined in:
- lib/botr/http/http_backend.rb
Instance Method Summary collapse
-
#get(path, params = {}) ⇒ Object
GET request.
-
#post(path, params = {}, data_path = "") ⇒ Object
POST request with optional multipart/form-data.
Instance Method Details
#get(path, params = {}) ⇒ Object
GET request.
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/botr/http/http_backend.rb', line 8 def get(path, params = {}) uri = URI(path) uri.query = URI.encode_www_form(params) res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| http.request_get uri end respond(res) end |
#post(path, params = {}, data_path = "") ⇒ Object
POST request with optional multipart/form-data.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/botr/http/http_backend.rb', line 20 def post(path, params = {}, data_path = "") uri = URI(path) uri.query = URI.encode_www_form(params) res = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| req = Net::HTTP::Post.new(uri.request_uri) if data_path.empty? req.set_form_data(params) else boundary = rand(1000000).to_s req.body_stream = BOTR::Multipart.new(data_path, boundary) req["Content-Type"] = "multipart/form-data; boundary=#{boundary}" req["Content-Length"] = req.body_stream.size.to_s end http.request req end respond(res) end |