def run
      if response.is_a? @expected_response
        self.class.on_response.call(self, response)
        response.tap do
          parse_response!
        end
      else
        raise HTTPError.new(error_message, response: response)
      end
    end
def run
      if response.is_a? @expected_response
        self.class.on_response.call(self, response)
        response.tap do
          parse_response!
        end
      else
        raise HTTPError.new(error_message, response: response)
      end
    end
Sends the request and returns the response with the body parsed from JSON.
 @return [Net::HTTPResponse] if the request succeeds.
 @raise [Fb::HTTPError] if the request fails.