class OAuth2::Client
def request(verb, url, params={}, headers={})
def request(verb, url, params={}, headers={}) if (verb == :get) || (verb == :delete) resp = connection.run_request(verb, url, nil, headers) do |req| req.params.update(params) end else resp = connection.run_request(verb, url, params, headers) end if raise_errors case resp.status when 200...299 return response_for(resp) when 302 return request(verb, resp.headers['location'], params, headers) when 401 e = OAuth2::AccessDenied.new("Received HTTP 401 during request.") e.response = resp raise e when 409 e = OAuth2::Conflict.new("Received HTTP 409 during request.") e.response = resp raise e else e = OAuth2::HTTPError.new("Received HTTP #{resp.status} during request.") e.response = resp raise e end else response_for resp end end