Onebox 失败并出现 429 错误仍应创建有效的 <img> 标签

在我的 Discourse 论坛上,我们鼓励用户尽可能使用外部图片托管服务。最常见的是 Imgur,一段时间后它会开始对 Discourse 服务器进行速率限制,并返回 429 错误。虽然 Imgur 的这个问题无法解决,但 Discourse 的处理方式也并非最优。目前,当 Imgur 返回 429 错误时,Discourse 会将其解释为无效的图片链接,并仅显示带有 <a> 标签的图片 URL。但由于用户的浏览器和 IP 不同,并没有什么能阻止用户在 Discourse 中内联查看这些图片。Discourse 仍应生成有效的 HTML 来显示图片。例如:

https://i.imgur.com/eHltaVt.jpeg
此 URL 在我的服务器上被速率限制,Discourse 仅生成一个链接:
<a>https://i.imgur.com/eHltaVt.jpeg</a>

但是,以下 HTML 在帖子预览和已发布的帖子中都能在最终用户的浏览器中正常显示图片:
<img src="https://i.imgur.com/eHltaVt.jpeg">
即使服务器在访问 URL 时收到 429 错误,Discourse 也应该生成此 HTML,并且仅在收到 404 错误时才显示裸露的 URL。

3 个赞