mirror of
https://github.com/iv-org/invidious
synced 2024-11-28 05:53:28 +01:00
Add filtered handler for videoplayback
This commit is contained in:
parent
f08199e7cf
commit
bc068721ab
@ -29,6 +29,30 @@ class Config
|
|||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class FilteredCompressHandler < Kemal::Handler
|
||||||
|
exclude ["/videoplayback"]
|
||||||
|
|
||||||
|
def call(env)
|
||||||
|
return call_next env if exclude_match? env
|
||||||
|
|
||||||
|
{% if flag?(:without_zlib) %}
|
||||||
|
call_next env
|
||||||
|
{% else %}
|
||||||
|
request_headers = env.request.headers
|
||||||
|
|
||||||
|
if request_headers.includes_word?("Accept-Encoding", "gzip")
|
||||||
|
env.response.headers["Content-Encoding"] = "gzip"
|
||||||
|
env.response.output = Gzip::Writer.new(env.response.output, sync_close: true)
|
||||||
|
elsif request_headers.includes_word?("Accept-Encoding", "deflate")
|
||||||
|
env.response.headers["Content-Encoding"] = "deflate"
|
||||||
|
env.response.output = Flate::Writer.new(env.response.output, sync_close: true)
|
||||||
|
end
|
||||||
|
|
||||||
|
call_next env
|
||||||
|
{% end %}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class Video
|
class Video
|
||||||
module HTTPParamConverter
|
module HTTPParamConverter
|
||||||
def self.from_rs(rs)
|
def self.from_rs(rs)
|
||||||
|
@ -872,6 +872,7 @@ static_headers do |response, filepath, filestat|
|
|||||||
end
|
end
|
||||||
|
|
||||||
public_folder "assets"
|
public_folder "assets"
|
||||||
gzip true
|
|
||||||
|
add_handler FilteredCompressHandler.new
|
||||||
|
|
||||||
Kemal.run
|
Kemal.run
|
||||||
|
Loading…
Reference in New Issue
Block a user