ex.record.errors.each { |attr,msg| message << "#{attr}: #{msg} (#{ex.record[attr].inspect})" }
report_error message, :bad_request
rescue OSM::APIError => ex
- render_opts = ex.render_opts
- report_error render_opts[:text], render_opts[:status]
+ report_error ex.message, ex.status
+ rescue Exception => ex
+ report_error "#{ex.class}: #{ex.message}", :internal_server_error
end
end
raise OSM::APIBadMethodError.new(method) unless ok
end
+ def api_call_timeout
+ Timeout::timeout(APP_CONFIG['api_timeout'], OSM::APITimeoutError) do
+ yield
+ end
+ end
+
private
# extract authorisation credentials from headers, returns user = nil if none