Sha256: 2d889db5efcefe2429e42ab4a61861b9f51aee393d4a89fb98e12706360dcbbd

Contents?: true

Size: 866 Bytes

Versions: 2

Compression:

Stored size: 866 Bytes

Contents

require 'openfire_admin/html_parser'
require 'net/http'
# openfire admin operator
module OpenfireAdmin
  # unexpected response found exception
  class ResponceException < Exception
    attr_reader :response
    def initialize(message,res)
      case res
      when Net::HTTPSuccess
        doc = HtmlParser.new(res.body)
        msgs = ( doc.search('//*[contains(@class,"jive-error-text") or contains(@class , "error")]') || [] ).map{|c| c.text.strip}
        if msgs.empty?
          super(message)
        else
          super("#{message} [#{msgs.join(' / ')}]")
        end
      when Net::HTTPRedirection
        super("#{message} redirct to=>#{res['location']}")
      when Net::HTTPNotFound
        super("#{message} Not found #{res.request.path}")
      else
        super("#{message} res.code=#{res.code}")
      end

      @response = res
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
openfire_admin-0.0.4 lib/openfire_admin/response_exception.rb
openfire_admin-0.0.3 lib/openfire_admin/response_exception.rb