Hola,
Mantenemos un foro usando Discourse y tenemos una herramienta automatizada que realiza solicitudes como:
agent.get(`${this.baseUrl}/admin/users/list/all.json?email=${emailAddress}`)
Recientemente encontré un problema donde uno de estos correos electrónicos contenía un carácter %. Creo que la solicitud get falló debido al carácter no codificado.
Consideré usar encodeURI en la cadena de correo electrónico, pero me preocupa que Discourse no realice una decodificación antes de consultar el correo electrónico coincidente, lo que podría generar falsos negativos.
Eché un vistazo al código fuente de GitHub, pero no estoy familiarizado con Ruby ni con el repositorio lo suficiente como para saberlo con certeza.
¿Es seguro usar encodeURI en las direcciones de correo electrónico pasadas a la ruta admin/users/list/all? ¿Decodificará Discourse los parámetros antes de realizar la consulta?