Документация посланника по WASM отсутствует в основном потому, что поддержка еще не полностью подготовлена. Тем не менее, я не совсем уверен, что понимаю, что вы пробовали, и ожидаемые результаты.
Цель фильтра WASM - позволить разработчикам добавлять фильтры Envoy без:
- Перекомпиляция Envoy или
- Запись фильтра на C ++.
Запрещается доставлять контент WASM клиенту для использования этим клиентом. Хотя вы могли бы написать фильтр WASM, который делает это, и, возможно, у вас есть.
Но в намеченном потоке Envoy запускает одну или несколько виртуальных машин WASM, которые загружают скомпилированные двоичные файлы WASM с локального диска или URL-адреса, и добавляет их в стек фильтров. Затем эти фильтры вызываются и выполняют некоторые действия с запросами и ответами.
Итак, сейчас я предполагаю, что у вас есть:
- Скомпилирован версия Envoy, которая поддерживает Фильтры WASM
- Написал фильтр WASM на выбранном вами языке и скомпилировал ( C ++ ).
- Настроил посланника на , используйте ваш фильтр.
- Запустил Envoy и сделал запросы, которые будут затронуты фильтром.
Если вы выполнили все вышеперечисленное, единственный способ, чтобы заголовок, установленный вашим фильтром, содержал «WASM». "это если вы заполнили заголовок" WASM "в фильтре. Если это именно то, что вы сделали, вы должны знать, что размер заголовка не бесконечен, и любой нетривиальный фильтр WASM будет представлять проблемы с размером.