Здравствуйте,
Мы используем платформу Discourse для работы нашего форума, и у нас есть автоматизированный инструмент, который отправляет запросы следующего вида:
agent.get(`${this.baseUrl}/admin/users/list/all.json?email=${emailAddress}`)
Недавно я столкнулся с проблемой: один из адресов электронной почты содержал символ %. Запрос не выполнился, по всей видимости, из-за того, что символ не был закодирован.
Я подумал использовать функцию encodeURI для строки с email, но беспокоюсь, что Discourse может не выполнить декодирование перед поиском соответствующего адреса, что приведёт к ложноотрицательным результатам.
Я изучил исходный код на GitHub, но не достаточно хорошо знаком с Ruby и структурой репозитория, чтобы быть уверенным в этом.
Безопасно ли использовать encodeURI для адресов электронной почты, передаваемых в маршрут admin/users/list/all? Будет ли Discourse декодировать параметры перед выполнением запроса к базе данных?