kemalcr / kemal

Fast, Effective, Simple Web Framework

Home Page:https://kemalcr.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Internal API broken in Crystal nightly

straight-shoota opened this issue · comments

CI builds based on Crystal nightly are broken (https://github.com/kemalcr/kemal/runs/7590284106?check_suite_focus=true). crystal-lang/crystal#12310 removed the private #modification_time method from the stdlib implementation of StaticFileHandler. Kemal's subtype implementation (https://github.com/kemalcr/kemal/blob/4aa28c423c6b1d7b8419f42b9c4cb12267b81066/src/kemal/static_file_handler.cr) still relies on that method (which no longer exists).
A simple fix would be to implement the method in Kemal's subtype.

But it would probably be better to adapt the other changes (which improve performance of the static file handler) to the Kemal implementation. There are other older changes not yet applied to the Kemal version.

Perhaps this could also be a good opportunity to start an initiative for a more modular implementation. That would make it easier to integrate custom modifications like the ones in Kemal, which are similar in other HTTP servers.