aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers/api/search/search-videos.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-11-05 14:11:19 +0100
committerChocobozzz <me@florianbigard.com>2021-11-05 14:11:19 +0100
commitdedcd583b2461895f816c3dd67d56f05d3274f6b (patch)
tree058880eda468f4282cefce275451aa76567a15b8 /server/controllers/api/search/search-videos.ts
parent3233acdadf34045b51da91d42bcd6b3cbf3036f4 (diff)
downloadPeerTube-dedcd583b2461895f816c3dd67d56f05d3274f6b.tar.gz
PeerTube-dedcd583b2461895f816c3dd67d56f05d3274f6b.tar.zst
PeerTube-dedcd583b2461895f816c3dd67d56f05d3274f6b.zip
Fix remote interaction
When we fetch a ressource that is a redirection of another ressource
Diffstat (limited to 'server/controllers/api/search/search-videos.ts')
-rw-r--r--server/controllers/api/search/search-videos.ts7
1 files changed, 5 insertions, 2 deletions
diff --git a/server/controllers/api/search/search-videos.ts b/server/controllers/api/search/search-videos.ts
index 6db70acdf..68428d766 100644
--- a/server/controllers/api/search/search-videos.ts
+++ b/server/controllers/api/search/search-videos.ts
@@ -1,7 +1,7 @@
1import express from 'express' 1import express from 'express'
2import { sanitizeUrl } from '@server/helpers/core-utils' 2import { sanitizeUrl } from '@server/helpers/core-utils'
3import { pickSearchVideoQuery } from '@server/helpers/query' 3import { pickSearchVideoQuery } from '@server/helpers/query'
4import { doJSONRequest } from '@server/helpers/requests' 4import { doJSONRequest, findLatestRedirection } from '@server/helpers/requests'
5import { CONFIG } from '@server/initializers/config' 5import { CONFIG } from '@server/initializers/config'
6import { WEBSERVER } from '@server/initializers/constants' 6import { WEBSERVER } from '@server/initializers/constants'
7import { getOrCreateAPVideo } from '@server/lib/activitypub/videos' 7import { getOrCreateAPVideo } from '@server/lib/activitypub/videos'
@@ -142,7 +142,10 @@ async function searchVideoURI (url: string, res: express.Response) {
142 refreshVideo: false 142 refreshVideo: false
143 } 143 }
144 144
145 const result = await getOrCreateAPVideo({ videoObject: url, syncParam }) 145 const result = await getOrCreateAPVideo({
146 videoObject: await findLatestRedirection(url, { activityPub: true }),
147 syncParam
148 })
146 video = result ? result.video : undefined 149 video = result ? result.video : undefined
147 } catch (err) { 150 } catch (err) {
148 logger.info('Cannot search remote video %s.', url, { err }) 151 logger.info('Cannot search remote video %s.', url, { err })