fix youtube start parameter

This commit is contained in:
Grzegorz Leoniec 2018-12-28 16:08:39 +01:00
parent f44121bcc1
commit 32fad6118c
No known key found for this signature in database
GPG Key ID: 3AA43686D4EB1377

View File

@ -19,6 +19,7 @@ const metascraper = require('metascraper')([
// require('./rules/metascraper-embed')()
])
const { ApolloError } = require('apollo-server')
const parseUrl = require('url')
const got = require('got')
const request = require('request-promise-native')
@ -57,6 +58,8 @@ const scraper = {
targetUrl = targetUrl.replace('//youtu.be/', '//youtube.com/')
}
const url = parseUrl.parse(targetUrl, true)
let meta = {}
let embed = {}
@ -95,6 +98,13 @@ const scraper = {
throw new ApolloError('Not found', 404)
}
// fix youtube start parameter
const YouTubeStartParam = url.query.t || url.query.start
if (output.publisher === 'YouTube' && YouTubeStartParam) {
output.embed = output.embed.replace('?feature=oembed', `?feature=oembed&start=${YouTubeStartParam}`)
output.url += `&start=${YouTubeStartParam}`
}
return output
},
async fetchEmbed(targetUrl) {