+++ /dev/null
-module Aviator
-
- define_request :base do
-
- meta :provider, :openstack
- meta :service, :common
- meta :api_version, :v2
- meta :endpoint_type, :public
-
- def headers
- {}.tap do |h|
- h['X-Auth-Token'] = session_data[:access][:token][:id] unless self.anonymous?
- end
- end
-
-
- private
-
-
- def base_url
- if session_data[:base_url]
- session_data[:base_url]
- elsif service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
- service_spec[:endpoints][0]["#{ endpoint_type }URL".to_sym]
- elsif session_data[:auth_service] && session_data[:auth_service][:host_uri] && session_data[:auth_service][:api_version]
- "#{ session_data[:auth_service][:host_uri] }/v2.0"
- elsif session_data[:auth_service] && session_data[:auth_service][:host_uri]
- session_data[:auth_service][:host_uri]
- else
- raise Aviator::Service::MissingServiceEndpointError.new(service.to_s, self.class)
- end
- end
-
-
- def params_to_querystring(param_names)
- filters = []
-
- param_names.each do |param_name|
- filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
- end
-
- filters.empty? ? "" : "?#{ filters.join('&') }"
- end
-
- end
-
-end