Class: Seiso::Connector::RestConnector
- Inherits:
-
Object
- Object
- Seiso::Connector::RestConnector
- Defined in:
- lib/seiso/connector/rest_connector.rb
Overview
- Author
Willie Wheeler (mailto:[email protected])
- Copyright
Copyright (c) 2014-2015 Expedia, Inc.
- License
Apache 2.0
Constant Summary collapse
- HN_ACCEPT =
"Accept"- HN_CONTENT_TYPE =
"Content-Type"- MT_TEXT_URI_LIST =
"text/uri-list"
Instance Method Summary collapse
- #delete(uri) ⇒ Object
- #get(uri) ⇒ Object
-
#initialize(host, port, use_ssl, ignore_cert, username, password, media_type) ⇒ RestConnector
constructor
A new instance of RestConnector.
- #post(uri, resource) ⇒ Object
-
#post_uri_list(uri, uri_list) ⇒ Object
- uri: collection resource we're posting the URI list to - uri_list: list of strings, not URI objects.
- #put(uri, resource) ⇒ Object
-
#put_all(uri_resource_pairs) ⇒ Object
Puts all resources using a keepalive connection.
Constructor Details
#initialize(host, port, use_ssl, ignore_cert, username, password, media_type) ⇒ RestConnector
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/seiso/connector/rest_connector.rb', line 17 def initialize(host, port, use_ssl, ignore_cert, username, password, media_type) @host = host @port = port @use_ssl = use_ssl @ignore_cert = ignore_cert @username = username @password = password @media_type = media_type # FIXME Not secure @verify_mode = OpenSSL::SSL::VERIFY_NONE if @use_ssl end |
Instance Method Details
#delete(uri) ⇒ Object
88 89 90 91 92 93 |
# File 'lib/seiso/connector/rest_connector.rb', line 88 def delete(uri) puts "DELETE #{uri}" request = Net::HTTP::Delete.new uri.request_uri request.basic_auth(@username, @password) do_request(http, request) end |
#get(uri) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/seiso/connector/rest_connector.rb', line 30 def get(uri) request = Net::HTTP::Get.new uri.request_uri request[HN_ACCEPT] = @media_type request.basic_auth(@username, @password) do_request(http, request) end |
#post(uri, resource) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/seiso/connector/rest_connector.rb', line 37 def post(uri, resource) request = Net::HTTP::Post.new uri.request_uri request[HN_CONTENT_TYPE] = @media_type request.basic_auth(@username, @password) request.body = resource.to_json do_request(http, request) end |
#post_uri_list(uri, uri_list) ⇒ Object
- uri: collection resource we're posting the URI list to
- uri_list: list of strings, not URI objects
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/seiso/connector/rest_connector.rb', line 47 def post_uri_list(uri, uri_list) request_body = "" uri_list.each do |uri| request_body << "#{uri}\n" end request = Net::HTTP::Post.new uri.request_uri request[HN_CONTENT_TYPE] = MT_TEXT_URI_LIST request.basic_auth(@username, @password) request.body = request_body do_request(http, request) end |
#put(uri, resource) ⇒ Object
80 81 82 83 84 85 86 |
# File 'lib/seiso/connector/rest_connector.rb', line 80 def put(uri, resource) request = Net::HTTP::Put.new uri.request_uri request[HN_CONTENT_TYPE] = @media_type request.basic_auth(@username, @password) request.body = resource.to_json do_request(http, request) end |
#put_all(uri_resource_pairs) ⇒ Object
Puts all resources using a keepalive connection
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/seiso/connector/rest_connector.rb', line 61 def put_all(uri_resource_pairs) Net::HTTP.start( @host, @port, :use_ssl => @use_ssl, :verify_mode => @verify_mode) do |http| uri_resource_pairs.each do |pair| pair_uri = pair['uri'] pair_resource = pair['resource'] request = Net::HTTP::Put.new pair_uri.request_uri request[HN_CONTENT_TYPE] = @media_type request.basic_auth(@username, @password) request.body = pair_resource.to_json do_request(http, request) end end end |