throw 404
This commit is contained in:
parent
bb013ddd18
commit
174b2b2d83
2 changed files with 8 additions and 5 deletions
|
|
@ -13,8 +13,9 @@ const alt = $computed(() => `${props.card.title} - ${props.card.title}`)
|
||||||
const isSquare = $computed(() => props.smallPictureOnly || props.card.width === props.card.height)
|
const isSquare = $computed(() => props.smallPictureOnly || props.card.width === props.card.height)
|
||||||
const providerName = $computed(() => props.card.providerName ? props.card.providerName : new URL(props.card.url).hostname)
|
const providerName = $computed(() => props.card.providerName ? props.card.providerName : new URL(props.card.url).hostname)
|
||||||
const imageSrcset = $computed(() => props.card.image
|
const imageSrcset = $computed(() => props.card.image
|
||||||
? `${props.card.image}, /api/og-image/${encodeURIComponent(props.card.url)}?fallbackUrl=${encodeURIComponent(props.card.image)} 2x`
|
? `${props.card.image}, /api/og-image/${encodeURIComponent(props.card.url)} 2x`
|
||||||
: '')
|
: '',
|
||||||
|
)
|
||||||
|
|
||||||
// TODO: handle card.type: 'photo' | 'video' | 'rich';
|
// TODO: handle card.type: 'photo' | 'video' | 'rich';
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ async function resolveOgImageUrlManually(cardUrl: string): Promise<string> {
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
const config = useRuntimeConfig()
|
const config = useRuntimeConfig()
|
||||||
const { url } = getRouterParams(event)
|
const { url } = getRouterParams(event)
|
||||||
const { fallbackUrl } = getQuery(event)
|
|
||||||
|
|
||||||
const cardUrl = decodeURIComponent(url)
|
const cardUrl = decodeURIComponent(url)
|
||||||
|
|
||||||
|
|
@ -78,8 +77,11 @@ export default defineEventHandler(async (event) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ogImageUrl) {
|
if (!ogImageUrl) {
|
||||||
// If nothing helped, set cardUrl as default
|
// If nothing helped, send 404 so the srcset can fallback to the default image
|
||||||
ogImageUrl = decodeURIComponent(fallbackUrl as string)
|
throw createError({
|
||||||
|
statusCode: 404,
|
||||||
|
statusMessage: 'Could not find og:image.',
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
await sendRedirect(event, ogImageUrl)
|
await sendRedirect(event, ogImageUrl)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue