Александр Шакмаев — gRPC Middleware в Go как способ модифицировать все запросы в одном месте
Подробнее о конференции GoFunc: https://jrg.su/xlvG08
— — Скачать презентацию с сайта GoFunc — https://jrg.su/P3Rlez
В Cloud.ru ценят время пользователей и стремятся не возвращать ошибки на сторону клиента. Особенно если в запрос случайно проскочил бесполезный пробел или символ переноса строки. Решение в лоб — писать валидаторы и модификаторы внутри всех контроллеров. Но что, если контроллеров очень много? Как такой объем поддерживать? Еще один способ — реализовать метод проксирования gRPC-запросов, используя интерцепторы. Сложности начинаются, когда мы хотим вмешаться в данные запроса. Спикер разобрался, как рефлексия и несколько строк кода в одном единственном месте помогут корректно модифицировать данные всех запросов сразу и обрезать лишнее.