lib/cfoundry/v1/base.rb in cfoundry-0.3.46 vs lib/cfoundry/v1/base.rb in cfoundry-0.3.47
- old
+ new
@@ -32,162 +32,158 @@
end
# Cloud metadata
def info
- get("info", nil => :json)
+ get("info", :accept => :json)
end
def system_services
- get("info", "services", nil => :json)
+ get("info", "services", :accept => :json)
end
def system_runtimes
- get("info", "runtimes", nil => :json)
+ get("info", "runtimes", :accept => :json)
end
# Users
def users
- get("users", nil => :json)
+ get("users", :accept => :json)
end
def create_user(payload)
- post(payload, "users", :json => nil)
+ post(payload, "users", :content => :json)
end
def user(email)
- get("users", email, nil => :json)
+ get("users", email, :accept => :json)
end
def delete_user(email)
- delete("users", email, nil => :json)
+ delete("users", email, :accept => :json)
true
end
def update_user(email, payload)
- put(payload, "users", email, :json => nil)
+ put(payload, "users", email, :content => :json)
end
def create_token(payload, email)
- post(payload, "users", email, "tokens", :json => :json)
+ post(payload, "users", email, "tokens",
+ :content => :json, :accept => :json)
end
# Applications
def apps
- get("apps", nil => :json)
+ get("apps", :accept => :json)
end
def create_app(payload)
- post(payload, "apps", :json => :json)
+ post(payload, "apps", :content => :json, :accept => :json)
end
def app(name)
- get("apps", name, nil => :json)
+ get("apps", name, :accept => :json)
end
def instances(name)
- get("apps", name, "instances", nil => :json)[:instances]
+ get("apps", name, "instances", :accept => :json)[:instances]
end
def crashes(name)
- get("apps", name, "crashes", nil => :json)[:crashes]
+ get("apps", name, "crashes", :accept => :json)[:crashes]
end
def files(name, instance, *path)
get("apps", name, "instances", instance, "files", *path)
end
alias :file :files
def update_app(name, payload)
- put(payload, "apps", name, :json => nil)
+ put(payload, "apps", name, :content => :json)
end
def delete_app(name)
delete("apps", name)
true
end
def stats(name)
- get("apps", name, "stats", nil => :json)
+ get("apps", name, "stats", :accept => :json)
end
def check_resources(fingerprints)
- post(fingerprints, "resources", :json => :json)
+ post(fingerprints, "resources", :content => :json, :accept => :json)
end
def upload_app(name, zipfile, resources = [])
payload = {
:_method => "put",
:resources => MultiJson.dump(resources),
- :multipart => true,
:application =>
- if zipfile.is_a? File
- zipfile
- elsif zipfile.is_a? String
- File.new(zipfile, "rb")
- end
+ UploadIO.new(
+ if zipfile.is_a? File
+ zipfile
+ elsif zipfile.is_a? String
+ File.new(zipfile, "rb")
+ end,
+ "application/zip")
}
post(payload, "apps", name, "application")
- rescue RestClient::ServerBrokeConnection
+ rescue EOFError
retry
end
# Services
def services
- get("services", nil => :json)
+ get("services", :accept => :json)
end
def create_service(manifest)
- post(manifest, "services", :json => :json)
+ post(manifest, "services", :content => :json, :accept => :json)
end
def service(name)
- get("services", name, nil => :json)
+ get("services", name, :accept => :json)
end
def delete_service(name)
- delete("services", name, nil => :json)
+ delete("services", name, :accept => :json)
true
end
private
def handle_response(response, accept)
- json = accept == :json
-
- case response.code
- when 200, 201, 204, 301, 302, 307
- if accept == :headers
- return response.headers
- end
-
- if json
- if response.code == 204
+ case response
+ when Net::HTTPSuccess, Net::HTTPRedirection
+ if accept == :json
+ if response.is_a?(Net::HTTPNoContent)
raise "Expected JSON response, got 204 No Content"
end
- parse_json(response)
+ parse_json(response.body)
else
- response
+ response.body
end
- when 400, 403
- info = parse_json(response)
+ when Net::HTTPBadRequest, Net::HTTPForbidden
+ info = parse_json(response.body)
raise CFoundry::Denied.new(403, info[:description])
- when 404
+ when Net::HTTPNotFound
raise CFoundry::NotFound
- when 411, 500, 504
+ when Net::HTTPServerError
begin
- raise_error(parse_json(response))
+ raise_error(parse_json(response.body))
rescue MultiJson::DecodeError
- raise CFoundry::BadResponse.new(response.code, response)
+ raise CFoundry::BadResponse.new(response.code, response.body)
end
else
- raise CFoundry::BadResponse.new(response.code, response)
+ raise CFoundry::BadResponse.new(response.code, response.body)
end
end
def raise_error(info)
case info[:code]