Class: CFoundry::BaseClient
- Inherits:
-
Object
- Object
- CFoundry::BaseClient
- Extended by:
- Forwardable
- Defined in:
- lib/cfoundry/baseclient.rb
Overview
:nodoc:
Instance Attribute Summary collapse
-
#rest_client ⇒ Object
readonly
Returns the value of attribute rest_client.
Instance Method Summary collapse
- #delete(*args) ⇒ Object
- #get(*args) ⇒ Object
-
#info ⇒ Object
Cloud metadata.
-
#initialize(target = "https://api.cloudfoundry.com", token = nil) ⇒ BaseClient
constructor
A new instance of BaseClient.
- #password_score(password) ⇒ Object
- #post(*args) ⇒ Object
- #put(*args) ⇒ Object
- #refresh_token! ⇒ Object
- #request(method, *args) ⇒ Object
- #request_raw(method, path, options) ⇒ Object
- #stream_url(url, &blk) ⇒ Object
- #token=(token) ⇒ Object
- #trace=(trace) ⇒ Object
- #uaa ⇒ Object
Constructor Details
#initialize(target = "https://api.cloudfoundry.com", token = nil) ⇒ BaseClient
Returns a new instance of BaseClient.
18 19 20 21 22 23 |
# File 'lib/cfoundry/baseclient.rb', line 18 def initialize(target = "https://api.cloudfoundry.com", token = nil) @rest_client = CFoundry::RestClient.new(target, token) self.trace = false self.backtrace = false self.log = false end |
Instance Attribute Details
#rest_client ⇒ Object (readonly)
Returns the value of attribute rest_client.
12 13 14 |
# File 'lib/cfoundry/baseclient.rb', line 12 def rest_client @rest_client end |
Instance Method Details
#delete(*args) ⇒ Object
67 68 69 |
# File 'lib/cfoundry/baseclient.rb', line 67 def delete(*args) request("DELETE", *args) end |
#get(*args) ⇒ Object
63 64 65 |
# File 'lib/cfoundry/baseclient.rb', line 63 def get(*args) request("GET", *args) end |
#info ⇒ Object
Cloud metadata
59 60 61 |
# File 'lib/cfoundry/baseclient.rb', line 59 def info get("info", :accept => :json) end |
#password_score(password) ⇒ Object
40 41 42 |
# File 'lib/cfoundry/baseclient.rb', line 40 def password_score(password) uaa ? uaa.password_score(password) : :unknown end |
#post(*args) ⇒ Object
71 72 73 |
# File 'lib/cfoundry/baseclient.rb', line 71 def post(*args) request("POST", *args) end |
#put(*args) ⇒ Object
75 76 77 |
# File 'lib/cfoundry/baseclient.rb', line 75 def put(*args) request("PUT", *args) end |
#refresh_token! ⇒ Object
94 95 96 |
# File 'lib/cfoundry/baseclient.rb', line 94 def refresh_token! self.token = uaa.try_to_refresh_token! end |
#request(method, *args) ⇒ Object
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/cfoundry/baseclient.rb', line 79 def request(method, *args) if needs_token_refresh? token.auth_header = nil refresh_token! end path, = normalize_arguments(args) request, response = request_raw(method, path, ) handle_response(response, , request) end |
#request_raw(method, path, options) ⇒ Object
90 91 92 |
# File 'lib/cfoundry/baseclient.rb', line 90 def request_raw(method, path, ) @rest_client.request(method, path, ) end |
#stream_url(url, &blk) ⇒ Object
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/cfoundry/baseclient.rb', line 98 def stream_url(url, &blk) uri = URI.parse(url) Net::HTTP.start(uri.host, uri.port) do |http| http.read_timeout = 5 req = Net::HTTP::Get.new(uri.request_uri) req["Authorization"] = token.auth_header if token http.request(req) do |response| case response when Net::HTTPOK response.read_body(&blk) when Net::HTTPNotFound raise CFoundry::NotFound.new(response.body, 404) when Net::HTTPForbidden raise CFoundry::Denied.new(response.body, 403) when Net::HTTPUnauthorized raise CFoundry::Unauthorized.new(response.body, 401) else raise CFoundry::BadResponse.new(response.body, response.code) end end end end |
#token=(token) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/cfoundry/baseclient.rb', line 44 def token=(token) if token.is_a?(String) token = CFoundry::AuthToken.new(token) end @rest_client.token = token @uaa.token = token if @uaa end |
#trace=(trace) ⇒ Object
53 54 55 56 |
# File 'lib/cfoundry/baseclient.rb', line 53 def trace=(trace) @rest_client.trace = trace @uaa.trace = trace if @uaa end |