Как получить доступ к возвращаемому значению маршрута в методе Kemal after_all? - PullRequest
1 голос
/ 25 января 2020

Как изменить ответ от маршрута из обработчика after_all в файле Kemal? [См. Пример ниже]

VERSION = "0.1.0"

require "kemal"

# Configure kemal parameters
serve_static false

get "/" do
  "Hello world!"
end

after_all do |env|
  # Would like to inject something here that turns "Hello world!" into "HELLO WORLD!", 
  # but I'm not sure how to get the original ("Hello world!") in this scope. 
end
Kemal.run

В документации нет примеров маршрутов after_all, и я не могу найти какой-либо объект в контексте, который его содержит. Как бы я это сделал?

1 Ответ

1 голос
/ 27 января 2020

Вы не можете этого сделать. Возвращаемое значение обработчика маршрута немедленно отправляется в базовый сокет. По сути, нет способа извлечь или изменить его.

Вместо этого вам следует рассмотреть возможность реализации того, что вы хотите, прямо в явном коде. Kemal обработчики, которые не предназначены для этого. Вы должны использовать их только для задач, связанных с протоколом HTTP.

...