gojek/wrest

Add a `anything_else` option to callbacks that is run if a response code other than the ones listed is returned

Opened this issue · 0 comments

"http://google.com".to_uri.get do |callback|
    callback.on_ok do |response|
      Wrest.logger.info "Ok."
    end

    callback.on(202) do |response|
      Wrest.logger.info "Accepted."
    end

    callback.on(200..206) do |response|
      Wrest.logger.info "Successful."
    end

    callback.anything_else do |response|
      Wrest.logger.info "An unexpected response code was received"
    end
  end

 "http://google.com".to_uri(:callback => {
      200      => lambda {|response| Wrest.logger.info "Ok." },
      400..499 => lambda {|response| Wrest.logger.error "Invalid. #{response.body}"},
      300..302 => lambda {|response| Wrest.logger.debug "Redirected. #{response.message}" }
      :anything_else => lambda {|response| Wrest.logger.debug "Unexpected response code. #{response.message}" }
  }).get