Я поддерживаю зрелую кодовую базу, которая использует Rails в качестве API.Приложение Rails также делает некоторые вещи с MQTT, не в сети, не HTTP-протоколом в реальном времени.
Некоторые пользователи просили возможность имитировать те же команды REST по протоколу MQTT (избегая необходимости авторизациидважды и имеют два разных клиента протокола).
Я видел несколько проектов, , таких как API Facebook , "имитирующих" HTTP путем помещения частей HTTP-запроса в запрос с использованием JSON (например:иметь свойство "header" и "method" для полезной нагрузки JSON).Это именно то, что я хочу сделать, но вне контекста HTTP полностью.Это будет происходить в фоновом режиме, который обрабатывает сообщения MQTT.
Можно ли использовать ActionDispatch и друзей для имитации диспетчерской диспетчеризации в отдельности?
Мне трудно найти документацию покак создать экземпляр объекта ActionDispatch::Request
в изоляции вне RSpec.
MyController.dispatch("create",
ActionDispatch::Request.new({"???" => "Can't find any docs on this one."}),
ActionDispatch::Response.new("?"))
# => RuntimeError: Missing rack.input