class XmlConv::Util::DestinationHttp

Constants

HTTP_HEADERS

Public Class Methods

new(uri = URI.parse('http:/')) click to toggle source
Calls superclass method XmlConv::Util::Destination::new
# File lib/xmlconv/util/destination.rb, line 169
                def initialize(uri = URI.parse('http:/'))
                        super()
                        @uri = uri
@transport = Net::HTTP
                end

Public Instance Methods

do_deliver(delivery) click to toggle source
# File lib/xmlconv/util/destination.rb, line 174
def do_deliver(delivery)
  if(delivery.is_a?(Array))
     worst_status = ''
     delivery.each { |part|
       do_deliver(part)
       ## bogostatus: assume that the more information in the string,
       ##             the worse the status is (ok < not found)
       ##             rationale: DTSTTCPW
       if(@status.to_s > worst_status.to_s)
         worst_status = @status
       end
     }
     @status = worst_status
  else
    @transport.start(@uri.host, @uri.port) { |http|
      request = Net::HTTP::Post.new(@uri.path, HTTP_HEADERS)
      if(@uri.user || @uri.password)
        request.basic_auth(@uri.user, @uri.password)
      end
      response = http.request(request, delivery.to_s)
      status_str = response.message.downcase.gsub(/\s+/, "_")
      @status = "http_#{status_str}".intern
    }
  end
                  end