(url: string, name = 'orig')
| 78 | }; |
| 79 | |
| 80 | export const formatImageUrl = (url: string, name = 'orig') => { |
| 81 | try { |
| 82 | const urlObj = new URL(url); |
| 83 | // remove existing name in url in case of conflicting |
| 84 | // e.g. https://pbs.twimg.com/media/foobar.jpg:orig |
| 85 | urlObj.pathname = urlObj.pathname.replace(/:\w+$/, ''); |
| 86 | |
| 87 | if (name) { |
| 88 | // add name parameter to url |
| 89 | urlObj.searchParams.set('name', name); |
| 90 | } else { |
| 91 | urlObj.searchParams.delete('name'); |
| 92 | } |
| 93 | return urlObj.toString(); |
| 94 | } catch (_e) { |
| 95 | return url; |
| 96 | } |
| 97 | }; |
| 98 | |
| 99 | /** |
| 100 | * Wraps foreign links through our API to prevent Telegram Instant View from crawling them directly. |
no test coverage detected