|
|
@ -212,29 +212,3 @@ class DenyFrame < Kemal::Handler
|
|
|
|
call_next env
|
|
|
|
call_next env
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
# Temp fixes for https://github.com/crystal-lang/crystal/issues/7383
|
|
|
|
|
|
|
|
class HTTP::UnknownLengthContent
|
|
|
|
|
|
|
|
def read_byte
|
|
|
|
|
|
|
|
ensure_send_continue
|
|
|
|
|
|
|
|
if @io.is_a?(OpenSSL::SSL::Socket::Client)
|
|
|
|
|
|
|
|
return if @io.as(OpenSSL::SSL::Socket::Client).@in_buffer_rem.empty?
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
@io.read_byte
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class HTTP::Client
|
|
|
|
|
|
|
|
private def handle_response(response)
|
|
|
|
|
|
|
|
if @socket.is_a?(OpenSSL::SSL::Socket::Client) && @host.ends_with?("googlevideo.com")
|
|
|
|
|
|
|
|
close unless response.keep_alive? || @socket.as(OpenSSL::SSL::Socket::Client).@in_buffer_rem.empty?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if @socket.as(OpenSSL::SSL::Socket::Client).@in_buffer_rem.empty?
|
|
|
|
|
|
|
|
@socket = nil
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
close unless response.keep_alive?
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
response
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|