kemalcr / kemal

Fast, Effective, Simple Web Framework
https://kemalcr.com
MIT License
3.65k stars 189 forks source link

Internal API broken in Crystal nightly #643

Closed straight-shoota closed 2 years ago

straight-shoota commented 2 years ago

CI builds based on Crystal nightly are broken (https://github.com/kemalcr/kemal/runs/7590284106?check_suite_focus=true). https://github.com/crystal-lang/crystal/pull/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.