Class: Seiso::Connector::RestConnector
- Inherits:
-
Object
- Object
- Seiso::Connector::RestConnector
- Defined in:
- lib/seiso/connector/rest_connector.rb
Overview
- Author
-
Willie Wheeler ([email protected])
- Copyright
-
Copyright © 2014-2015 Expedia, Inc.
- License
-
Apache 2.0
Constant Summary collapse
- HN_ACCEPT =
"Accept"- HN_CONTENT_TYPE =
"Content-Type"- MT_TEXT_URI =
"text/uri"
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
- #put(uri, resource) ⇒ Object
-
#put_all(uri_resource_pairs) ⇒ Object
Puts all resources using a keepalive connection.
-
#put_link(uri, linked_uri) ⇒ Object
-
uri: main resource URI - linked_uri: specifies resource we’re linking to the main resource.
-
Constructor Details
#initialize(host, port, use_ssl, ignore_cert, username, password, media_type) ⇒ RestConnector
Returns a new instance of 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
83 84 85 86 87 88 |
# File 'lib/seiso/connector/rest_connector.rb', line 83 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 |
#put(uri, resource) ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/seiso/connector/rest_connector.rb', line 65 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
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/seiso/connector/rest_connector.rb', line 46 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 |
#put_link(uri, linked_uri) ⇒ Object
-
uri: main resource URI
-
linked_uri: specifies resource we’re linking to the main resource
75 76 77 78 79 80 81 |
# File 'lib/seiso/connector/rest_connector.rb', line 75 def put_link(uri, linked_uri) request = Net::HTTP::Put.new uri.request_uri request[HN_CONTENT_TYPE] = MT_TEXT_URI request.basic_auth(@username, @password) request.body = linked_uri.request_uri do_request(http, request) end |