Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions lib/twilio-ruby/framework/rest/error.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,33 @@ def format_message(initial_message)

class ObsoleteError < StandardError
end

class RestErrorV10 < TwilioError
attr_accessor :code, :message, :httpStatusCode, :params, :userError

def initialize(response)
@code = response.code
@message = response.message
@httpStatusCode = response.httpStatusCode
@params = response.params
@userError = response.userError
end

def to_s
message
end

private

def format_message(initial_message)
message_response = "[HTTP #{status_code}] #{code} : #{initial_message}"
message_response += "\n#{message}" if message
message_response += "\n#{httpStatusCode}" if httpStatusCode
message_response += "\n#{params}" if params
message_response += "\n#{userError}" if userError
message_response + "\n\n"
end

end
end
end
50 changes: 25 additions & 25 deletions lib/twilio-ruby/framework/rest/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def relative_uri(uri)

def request(method, uri, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
url = relative_uri(uri)
params = params.delete_if { |_k, v| v.nil? }
params.delete_if { |_k, v| v.nil? }
data = data
@domain.request(method, url, params, data, headers, auth, timeout)
end
Expand All @@ -57,8 +57,12 @@ def exception(response, header)
Twilio::REST::RestError.new(header, response)
end

def exception_v10(response)
Twilio::REST::RestErrorV10.new(response)
end

def fetch(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil)
response = request(
request(
method,
uri,
params,
Expand All @@ -68,16 +72,14 @@ def fetch(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: ni
timeout
)

# Note that 3XX response codes are allowed for fetches.
if response.status_code < 200 || response.status_code >= 400
raise exception(response, 'Unable to fetch record')
end

response.body
# # Note that 3XX response codes are allowed for fetches.
# if response.status_code < 200 || response.status_code >= 400
# raise exception(response, 'Unable to fetch record')
# end
end

def update(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil)
response = request(
request(
method,
uri,
params,
Expand All @@ -87,15 +89,13 @@ def update(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: n
timeout
)

if response.status_code < 200 || response.status_code >= 300
raise exception(response, 'Unable to update record')
end

response.body
# if response.status_code < 200 || response.status_code >= 300
# raise exception(response, 'Unable to update record')
# end
end

def delete(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil)
response = request(
request(
method,
uri,
params,
Expand All @@ -105,11 +105,9 @@ def delete(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: n
timeout
)

if response.status_code < 200 || response.status_code >= 300
raise exception(response, 'Unable to delete record')
end

response.status_code == 204
# if response.status_code < 200 || response.status_code >= 300
# raise exception(response, 'Unable to delete record')
# end
end

def read_limits(limit = nil, page_size = nil)
Expand Down Expand Up @@ -140,13 +138,15 @@ def stream(page, limit: nil, page_limit: nil)
end

def create(method, uri, params: {}, data: {}, headers: {}, auth: nil, timeout: nil)
response = request(method, uri, params, data, headers, auth, timeout)
request(method, uri, params, data, headers, auth, timeout)

if response.status_code < 200 || response.status_code >= 300
raise exception(response, 'Unable to create record')
end
# if response.status_code < 200 || response.status_code >= 300
# raise exception(response, 'Unable to create record')
# end
end

response.body
def delete_status_code(response)
response.status_code >= 200 && response.status_code < 400
end
end
end
Expand Down
Loading