Add cache size limit check to caching routes
This commit is contained in:
parent
8fb028149b
commit
1a8a3c5b1d
1 changed files with 7 additions and 2 deletions
|
@ -5,6 +5,7 @@ module Kemal
|
|||
include HTTP::Handler
|
||||
|
||||
INSTANCE = new
|
||||
CACHED_ROUTES_LIMIT = 1024
|
||||
property routes, cached_routes
|
||||
|
||||
def initialize
|
||||
|
@ -33,7 +34,11 @@ module Kemal
|
|||
|
||||
route = @routes.find(lookup_path)
|
||||
|
||||
@cached_routes[lookup_path] = route if route.found?
|
||||
if route.found? && @cached_routes.size < CACHED_ROUTES_LIMIT
|
||||
@cached_routes[lookup_path] = route
|
||||
else
|
||||
@cached_routes.clear
|
||||
end
|
||||
|
||||
route
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue