Class: Flickr::Middleware::CheckStatus

Inherits:
Faraday::Response::Middleware
  • Object
show all
Defined in:
lib/flickr/middleware.rb

Overview

Checks for errors in responses from Flickr, in which case it raises a ‘Flickr::ApiError` which contains the code and the message found in the response.

It’s a bit ugly because Flickr returns different error formats when uploading than when querying, so we need to take care of all cases.

Raises:

  • Flickr::ApiError

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object



45
46
47
48
49
50
51
52
53
54
# File 'lib/flickr/middleware.rb', line 45

def on_complete(env)
  env[:body] = env[:body]["rsp"] || env[:body]

  if env[:body]["stat"] != "ok"
    message = env[:body]["message"] || env[:body]["err"]["msg"]
    code = env[:body]["code"] || env[:body]["err"]["code"]

    raise Flickr::ApiError.new(message, code)
  end
end