Class: Object
- Inherits:
- BasicObject
- Defined in:
- lib/cucumber/rest_api/http_client.rb
Instance Method Summary collapse
- #blank? ⇒ Boolean
- #header(key, value) ⇒ Object
- #last_response ⇒ Object
- #perform_delete_request(uri, request_opts) ⇒ Object
- #perform_put_request(uri, request_opts) ⇒ Object
- #present? ⇒ Boolean
- #request(path, request_opts) ⇒ Object
- #send_get_request(uri, request_opts) ⇒ Object
- #send_post_request(uri, request_opts) ⇒ Object
Instance Method Details
#blank? ⇒ Boolean
9 10 11 |
# File 'lib/cucumber/rest_api/http_client.rb', line 9 def blank? respond_to?(:empty?) ? empty? : !self end |
#header(key, value) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/cucumber/rest_api/http_client.rb', line 17 def header key, value if @headers == nil @headers = Hash.new(0) end @headers[key] = value end |
#last_response ⇒ Object
25 26 27 |
# File 'lib/cucumber/rest_api/http_client.rb', line 25 def last_response return @response end |
#perform_delete_request(uri, request_opts) ⇒ Object
81 82 83 84 |
# File 'lib/cucumber/rest_api/http_client.rb', line 81 def perform_delete_request uri,request_opts request = Net::HTTP::Delete.new(uri.request_uri) return request end |
#perform_put_request(uri, request_opts) ⇒ Object
64 65 66 67 68 69 70 71 72 73 |
# File 'lib/cucumber/rest_api/http_client.rb', line 64 def perform_put_request uri,request_opts request = Net::HTTP::Put.new(uri.request_uri) body = nil if request_opts[:params] body = request_opts[:params].to_json else body = request_opts[:input] end return request, body end |
#present? ⇒ Boolean
13 14 15 |
# File 'lib/cucumber/rest_api/http_client.rb', line 13 def present? !blank? end |
#request(path, request_opts) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/cucumber/rest_api/http_client.rb', line 29 def request path,request_opts req = "#{$SERVER_PATH}" + path uri = URI.parse(req) http = Net::HTTP.new(uri.host, uri.port) if request_opts[:method] == :post request, body = send_post_request(uri, request_opts) elsif request_opts[:method] == :put request, body = perform_put_request(uri, request_opts) elsif request_opts[:method] == :get request = send_get_request(uri, request_opts) elsif request_opts[:method] == :delete request = perform_delete_request(uri, request_opts) end #do we have any headers to add? if @headers != nil @headers.each { |k,v| request.add_field(k, v) } @headers = nil end @response = http.request(request,body) end |
#send_get_request(uri, request_opts) ⇒ Object
75 76 77 78 |
# File 'lib/cucumber/rest_api/http_client.rb', line 75 def send_get_request uri,request_opts request = Net::HTTP::Get.new(uri.request_uri) return request end |
#send_post_request(uri, request_opts) ⇒ Object
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/cucumber/rest_api/http_client.rb', line 53 def send_post_request uri,request_opts request = Net::HTTP::Post.new(uri.request_uri) body = nil if request_opts[:params] body = request_opts[:params].to_json else body = request_opts[:input] end return request, body end |