diff --git a/lib/feed2imap/feed2imap.rb b/lib/feed2imap/feed2imap.rb index 529c823..36c71bf 100644 --- a/lib/feed2imap/feed2imap.rb +++ b/lib/feed2imap/feed2imap.rb @@ -18,7 +18,7 @@ =end # Feed2Imap version -F2I_VERSION = '1.2.4' +F2I_VERSION = '1.2.5' F2I_WARNFETCHTIME = 10 require 'feed2imap/config' diff --git a/lib/feed2imap/itemtomail.rb b/lib/feed2imap/itemtomail.rb index fcf8f8b..455a136 100644 --- a/lib/feed2imap/itemtomail.rb +++ b/lib/feed2imap/itemtomail.rb @@ -99,7 +99,8 @@ htmlpart.body.gsub!(/(]+)src="(\S+?\/([^\/]+?\.(png|gif|jpe?g)))"([^>]*>)/i) do |match| # $2 contains url, $3 the image name, $4 the image extension begin - image = Base64.encode64(HTTPFetcher::fetch($2, Time.at(0)).chomp) + "\n" + fetcher = HTTPFetcher.new + image = Base64.encode64(fetcher.fetch($2, Time.at(0)).chomp) + "\n" cid = "#{Digest::MD5.hexdigest($2)}@#{config.hostname}" if not cids.include?(cid) cids << cid diff --git a/test/tc_httpfetcher.rb b/test/tc_httpfetcher.rb index d44b3ee..e904086 100755 --- a/test/tc_httpfetcher.rb +++ b/test/tc_httpfetcher.rb @@ -9,7 +9,7 @@ def test_get_https s = '' assert_nothing_raised do - s = HTTPFetcher::fetch('https://linuxfr.org/pub/', Time::at(0)) + s = fetcher.fetch('https://linuxfr.org/pub/', Time::at(0)) end assert(s.length > 20) end @@ -21,7 +21,7 @@ def test_get_httpnotmodif s = 'aaa' assert_nothing_raised do - s = HTTPFetcher::fetch('http://www.lucas-nussbaum.net/feed2imap_tests/notmodified.php', Time::new()) + s = fetcher.fetch('http://www.lucas-nussbaum.net/feed2imap_tests/notmodified.php', Time::new()) end assert_nil(s) end @@ -29,7 +29,7 @@ def test_get_redir1 s = 'aaa' assert_nothing_raised do - s = HTTPFetcher::fetch("http://www.lucas-nussbaum.net/feed2imap_tests/redir.php?redir=#{MAXREDIR}", Time::at(0)) + s = fetcher.fetch("http://www.lucas-nussbaum.net/feed2imap_tests/redir.php?redir=#{MAXREDIR}", Time::at(0)) end assert_equal('OK', s) end @@ -37,14 +37,14 @@ def test_get_redir2 s = '' assert_raise(RuntimeError) do - s = HTTPFetcher::fetch("http://www.lucas-nussbaum.net/feed2imap_tests/redir.php?redir=#{MAXREDIR + 1}", Time::at(0)) + s = fetcher.fetch("http://www.lucas-nussbaum.net/feed2imap_tests/redir.php?redir=#{MAXREDIR + 1}", Time::at(0)) end end def test_httpauth s = '' assert_nothing_raised do - s = HTTPFetcher::fetch("http://aaa:bbb@ensilinx1.imag.fr/~lucas/f2i_redirauth.php", Time::at(0)) + s = fetcher.fetch("http://aaa:bbb@ensilinx1.imag.fr/~lucas/f2i_redirauth.php", Time::at(0)) end assert_equal("Login: aaa / Password: bbb \n", s) end @@ -52,7 +52,7 @@ def test_redirauth s = '' assert_nothing_raised do - s = HTTPFetcher::fetch("http://aaa:bbb@ensilinx1.imag.fr/~lucas/f2i_redirauth.php?redir=1", Time::at(0)) + s = fetcher.fetch("http://aaa:bbb@ensilinx1.imag.fr/~lucas/f2i_redirauth.php?redir=1", Time::at(0)) end assert_equal("Login: aaa / Password: bbb \n", s) end @@ -60,7 +60,13 @@ def test_notfound s = '' assert_raises(RuntimeError) do - s = HTTPFetcher::fetch("http://ensilinx1.imag.fr/~lucas/notfound.html", Time::at(0)) + s = fetcher.fetch("http://ensilinx1.imag.fr/~lucas/notfound.html", Time::at(0)) end end + + private + + def fetcher + HTTPFetcher.new + end end