Module: Fog::CDN::Rackspace::Base

Included in:
Mock, Real
Defined in:
lib/fog/rackspace/cdn.rb

Constant Summary collapse

URI_HEADERS =
{
  "X-Cdn-Ios-Uri" => :ios_uri,
  "X-Cdn-Uri" => :uri,
  "X-Cdn-Streaming-Uri" => :streaming_uri,
  "X-Cdn-Ssl-Uri" => :ssl_uri
}.freeze

Instance Method Summary collapse

Instance Method Details

#endpoint_uri(service_endpoint_url = nil) ⇒ Object



38
39
40
# File 'lib/fog/rackspace/cdn.rb', line 38

def endpoint_uri(service_endpoint_url=nil)
  @uri = super(@rackspace_cdn_url || service_endpoint_url, :rackspace_cdn_url)
end

#publish_container(container, publish = true) ⇒ Hash

Publish container to CDN



50
51
52
53
54
55
# File 'lib/fog/rackspace/cdn.rb', line 50

def publish_container(container, publish = true)
  enabled = publish ? 'True' : 'False'
  response = put_container(container.key, 'X-Cdn-Enabled' => enabled)
  return {} unless publish
  urls_from_headers(response.headers)
end

#regionObject



30
31
32
# File 'lib/fog/rackspace/cdn.rb', line 30

def region
  @rackspace_region
end

#request_id_headerObject



34
35
36
# File 'lib/fog/rackspace/cdn.rb', line 34

def request_id_header
  "X-Trans-Id"
end

#service_nameObject



26
27
28
# File 'lib/fog/rackspace/cdn.rb', line 26

def service_name
  :cloudFilesCDN
end

#urls(container) ⇒ Hash

Note:

If unable to find container or container is not published this method will return an empty hash.

Returns hash of urls for container



64
65
66
67
68
69
70
71
72
# File 'lib/fog/rackspace/cdn.rb', line 64

def urls(container)
  begin
    response = head_container(container.key)
    return {} unless response.headers['X-Cdn-Enabled'] == 'True'
    urls_from_headers response.headers
  rescue Fog::Service::NotFound
    {}
  end
end