# File lib/dister/downloader.rb, line 9
    def initialize url, message
      @filename = File.basename(url)
      @message  = message

      # setup curl
      @curl = Curl::Easy.new
      @curl.url = url
      @curl.follow_location = true

      @curl.on_body { |data| self.on_body(data); data.size }
      @curl.on_complete { |data| self.on_complete }
      @curl.on_failure { |data| self.on_failure }
      @curl.on_progress do |dl_total, dl_now, ul_total, ul_now|
        self.on_progress(dl_now, dl_total, @curl.download_speed, @curl.total_time)
        true
      end
    end