UNPKG

rsshub

Version:
40 lines (32 loc) 1.25 kB
import { Route } from '@/types'; import ofetch from '@/utils/ofetch'; import cache from '@/utils/cache'; import { baseUrl, getItem, headers, parseList } from './utils'; export const route: Route = { path: '/studios/:studio', categories: ['multimedia'], example: '/javtrailers/studios/s1-no-1-style', parameters: { studio: 'Studio name, can be found in the URL of the studio page' }, radar: [ { source: ['javtrailers.com/studios/:category'], }, ], name: 'Studios', maintainers: ['TonyRL'], handler, }; async function handler(ctx) { const { studio } = ctx.req.param(); const response = await ofetch(`${baseUrl}/api/studios/${studio}?page=0`, { headers, }); const list = parseList(response.videos); const items = await Promise.all(list.map((item) => cache.tryGet(item.link, () => getItem(item)))); return { title: `${response.studio.hotDvdIds?.join(' ') ?? response.studio.name} Jav Online | Japanese Adult Video - JavTrailers.com`, description: 'Watch Jav made by Prestige free, with high definition, we have over 4,000 studios available for free streaming.', link: `${baseUrl}/studios/${studio}`, item: items, }; }