# Creating a Basic Success Function for Http

I got sick of every time I make an Http request validating that the response was a success. I did a lot of:

if response.class == Net::HTTPOK


or

if response.is_a? Net::HTTPSuccess


I wanted something a little prettier so I came up with the following. I don't write a lot of class extensions like this so I wanted some input.

require 'net/http'
class Net::HTTPResponse
def success?
return false if ! self.is_a? Net::HTTPSuccess
return true
end
end


Now once the file is included I can say:

if response.success?

• Just about every alternative to Net::HTTP has a better interface. Don't feel compelled to use it. – Mark Thomas Mar 29 '18 at 16:29

Though your solution would work, I would have gone for something like this:

class Net::HTTPResponse
def success?
false
end
end

class Net::HTTPSuccess
def success?
true
end
end


If you do keep your solution, you could simplify it to:

class Net::HTTPResponse
def success?
self.is_a? Net::HTTPSuccess
end
end

• A short comment about what like this or could simplify it to mean would be great ;-) – t3chb0t Mar 29 '18 at 17:44