Browse Source
Update Kemal to 1.6.0 and remove Kilt
Kilt is unmaintained and the ECR templating logic has been
natively integrated into Kemal with the issues previously seen
having been resolved.
This commit is mostly a precursor to support the next Kemal
release which will add the ability to create error handlers for
raised exceptions.
See https://github.com/kemalcr/kemal/pull/688
pull/5120/head
syeopite
11 months ago
No known key found for this signature in database
GPG Key ID: A73C186DA3955A1A
6 changed files with
9 additions and
35 deletions
shard.lock
shard.yml
src/ext/kemal_content_for.cr
src/ext/kemal_static_file_handler.cr
src/invidious.cr
src/invidious/helpers/macros.cr
@ -18,7 +18,7 @@ shards:
exception_page:
git: https://github.com/crystal-loot/exception_page.git
version: 0.2.2
version: 0.4.1
http_proxy:
git: https://github.com/mamantoha/http_proxy.git
@ -26,11 +26,7 @@ shards:
kemal:
git: https://github.com/kemalcr/kemal.git
version: 1.1.2
kilt:
git: https://github.com/jeromegn/kilt.git
version: 0.6.1
version: 1.6.0
pg:
git: https://github.com/will/crystal-pg.git
@ -17,10 +17,7 @@ dependencies:
version : ~> 0.21.0
kemal:
github : kemalcr/kemal
version : ~> 1.1.2
kilt:
github : jeromegn/kilt
version : ~> 0.6.1
version : ~> 1.6.0
protodec:
github : iv-org/protodec
version : ~> 0.1.5
@ -1,16 +0,0 @@
# Overrides for Kemal's `content_for` macro in order to keep using
# kilt as it was before Kemal v1.1.1 (Kemal PR #618).
require " kemal "
require " kilt "
macro content_for ( key , file = __FILE__ )
% proc = - > ( ) {
__kilt_io__ = IO :: Memory . new
{{ yield }}
__kilt_io__ . to_s
}
CONTENT_FOR_BLOCKS [ {{ key }} ] = Tuple . new {{ file }} , % proc
nil
end
@ -71,7 +71,7 @@ def send_file(env : HTTP::Server::Context, file_path : String, data : Slice(UInt
filesize = data . bytesize
attachment ( env , filename , disposition )
Kemal . config . static_headers . try ( & . call ( env . response , file_path , filestat ) )
Kemal . config . static_headers . try ( & . call ( env , file_path , filestat ) )
file = IO :: Memory . new ( data )
if env . request . method == " GET " && env . request . headers . has_key? ( " Range " )
@ -17,10 +17,8 @@
require " digest/md5 "
require " file_utils "
# Require kemal, kilt, then our own overrides
# Require kemal, then our own overrides
require " kemal "
require " kilt "
require " ./ext/kemal_content_for.cr "
require " ./ext/kemal_static_file_handler.cr "
require " http_proxy "
@ -221,8 +219,8 @@ error 500 do |env, ex|
error_template ( 500 , ex )
end
static_headers do | response |
response . headers . add ( " Cache-Control " , " max-age=2629800 " )
static_headers do | env |
env . response . headers . add ( " Cache-Control " , " max-age=2629800 " )
end
# Init Kemal
@ -55,12 +55,11 @@ macro templated(_filename, template = "template", navbar_search = true)
{{ layout = " src/invidious/views/ " + template + " .ecr " }}
__content_filename__ = {{ filename }}
content = Kilt . render ( {{ filename }} )
Kilt . render ( {{ layout }} )
render {{ filename }} , {{ layout }}
end
macro rendered ( filename )
Kilt . render ( " src/invidious/views/ #{ { { filename } } } .ecr " )
render ( " src/invidious/views/ #{ { { filename } } } .ecr " )
end
# Similar to Kemals halt method but works in a