Неполная порция ответа на лак
У меня есть инструмент запроса к базе данных, который возвращает данные с Transfer-encoding: chunked. Я хотел бы использовать существующую инфраструктуру лака для кэширования ответов от этого инструмента, но лак отказывается кэшировать фрагментированные документы. Между лаком и самим инструментом есть прокси-сервер nginx, но я не смог найти способа заставить его разделить ответы на части. Есть ли решение для nginx или любого другого аналогичного прокси, которое в основном сделало бы следующее:
- Возьмите ответ от бэкэнда и, если он разделен на части, поместите его в буфер до заданного размера
- Если ответ заканчивается до того, как будет достигнут предел, упакуйте его как отдельный объект без разбивки на части и отправьте его с надлежащей длиной содержимого
- Если ответ не заканчивается, отправьте накопленные данные (с оригинальными чанками или как один большой чанк) и продолжайте потоковую передачу с этого момента.