summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/invidious/routes/images.cr13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/invidious/routes/images.cr b/src/invidious/routes/images.cr
index c4197746..251258ec 100644
--- a/src/invidious/routes/images.cr
+++ b/src/invidious/routes/images.cr
@@ -41,9 +41,14 @@ module Invidious::Routes::Images
end
end
+ # A callable proc to be used inside #proxy_image
+ callable_proc = ->(env : HTTP::Server::Context) {
+ env.response.headers["Connection"] = "close"
+ }
+
begin
get_ytimg_pool(authority).client &.get(url, headers) do |resp|
- return self.proxy_image(env, resp)
+ return self.proxy_image(env, resp, callable_proc: callable_proc)
end
rescue ex
end
@@ -133,7 +138,7 @@ module Invidious::Routes::Images
end
end
- private def self.proxy_image(env, response)
+ private def self.proxy_image(env, response, callable_proc = nil)
env.response.status_code = response.status_code
response.headers.each do |key, value|
if !RESPONSE_HEADERS_BLACKLIST.includes?(key.downcase)
@@ -143,6 +148,10 @@ module Invidious::Routes::Images
env.response.headers["Access-Control-Allow-Origin"] = "*"
+ if callable_proc
+ callable_proc.call(env)
+ end
+
if response.status_code >= 300
return env.response.headers.delete("Transfer-Encoding")
end