tumblr: fix edgecastcdn.net rewrite + add test.

https://data.tumblr.com doesn't have a valid SSL cert, so we must use
http:// instead when we rewrite to it.
This commit is contained in:
evazion
2017-06-21 14:49:59 -05:00
parent 16a51533bc
commit a9b3d28215
2 changed files with 13 additions and 4 deletions

View File

@@ -34,11 +34,10 @@ module Downloads
return [url, headers]
end
# https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/tumblr_m2dxb8aOJi1rop2v0o1_500.png
# => http://data.tumblr.com/tumblr_m2dxb8aOJi1rop2v0o1_500.png
def rewrite_cdn(url, headers)
if url =~ %r{https?://gs1\.wac\.edgecastcdn\.net/8019B6/data\.tumblr\.com/}
url.sub!("gs1.wac.edgecastcdn.net/8019B6/", "")
end
url.sub!(%r!\Ahttps?://gs1\.wac\.edgecastcdn\.net/8019B6/data\.tumblr\.com!i, "http://data.tumblr.com")
return [url, headers]
end
end

View File

@@ -16,5 +16,15 @@ module Downloads
assert_downloaded(90_122, @source)
end
end
context "a download for a gs1.wac.edgecastcdn.net image" do
should "rewrite to the full tumblr version" do
@source = "https://gs1.wac.edgecastcdn.net/8019B6/data.tumblr.com/tumblr_m2dxb8aOJi1rop2v0o1_500.png"
@rewrite = "http://data.tumblr.com/tumblr_m2dxb8aOJi1rop2v0o1_1280.png"
assert_downloaded(34_060, @source)
assert_rewritten(@rewrite, @source)
end
end
end
end