class Flickr::Middleware::CheckStatus

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.

@raise Flickr::ApiError

Public Instance Methods

on_complete(env) click to toggle source
# 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