Class: Fog::Rackspace::Service
- Inherits:
-
Object
- Object
- Fog::Rackspace::Service
show all
- Defined in:
- lib/fog/rackspace/service.rb
Direct Known Subclasses
CDN::Rackspace::Mock, CDN::Rackspace::Real, Compute::Rackspace::Mock, Compute::Rackspace::Real, Compute::RackspaceV2::Mock, Compute::RackspaceV2::Real, DNS::Rackspace::Mock, DNS::Rackspace::Real, AutoScale::Mock, AutoScale::Real, BlockStorage::Mock, BlockStorage::Real, CDNV2::Mock, CDNV2::Real, Databases::Mock, Databases::Real, Identity::Mock, Identity::Real, LoadBalancers::Mock, LoadBalancers::Real, Monitoring::Mock, Monitoring::Real, Networking::Mock, Networking::Real, NetworkingV2::Mock, NetworkingV2::Real, Orchestration::Mock, Orchestration::Real, Queues::Mock, Queues::Real, Storage::Rackspace::Mock, Storage::Rackspace::Real
Instance Method Summary
collapse
Instance Method Details
#authenticate(options = {}) ⇒ Object
28
29
30
|
# File 'lib/fog/rackspace/service.rb', line 28
def authenticate(options={})
self.send authentication_method, options
end
|
#endpoint_uri(service_endpoint = nil, endpoint_name = nil) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/fog/rackspace/service.rb', line 12
def endpoint_uri(service_endpoint=nil, endpoint_name=nil)
return @uri if @uri
url = service_endpoint
unless url
if v1_authentication?
raise "Service Endpoint must be specified via #{endpoint_name} parameter"
else
url = endpoint_uri_v2
end
end
@uri = URI.parse url
end
|
#region ⇒ Object
8
9
10
|
# File 'lib/fog/rackspace/service.rb', line 8
def region
raise Fog::Errors::NotImplemented.new("Please implement the #region method")
end
|
#request(params, parse_json = true) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/fog/rackspace/service.rb', line 39
def request(params, parse_json = true)
first_attempt = true
begin
response = @connection.request(request_params(params))
rescue Excon::Errors::Unauthorized => error
raise error unless first_attempt
first_attempt = false
authenticate
retry
rescue Excon::Error::Socket => ees
if ees.message && ees.message.downcase.include?('broken pipe')
raise ees unless first_attempt
first_attempt = false
authenticate
retry
end
end
process_response(response) if parse_json
response
end
|
#request_without_retry(params, parse_json = true) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/fog/rackspace/service.rb', line 32
def request_without_retry(params, parse_json = true)
response = @connection.request(request_params(params))
process_response(response) if parse_json
response
end
|
#service_name ⇒ Object
4
5
6
|
# File 'lib/fog/rackspace/service.rb', line 4
def service_name
raise Fog::Errors::NotImplemented.new("Please implement the #service_name method")
end
|
#service_net? ⇒ Boolean
61
62
63
|
# File 'lib/fog/rackspace/service.rb', line 61
def service_net?
false
end
|