aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/controllers
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2018-11-30 15:06:06 +0100
committerChocobozzz <me@florianbigard.com>2018-11-30 15:06:36 +0100
commit1a8dd4da77468068d1ff7f7bd67f76399ae04e04 (patch)
tree430e92852055117af2a274ce7c6a92ee9f037f0a /server/controllers
parentd7ea359d366f0caaf1efff2b727dd736c1301ddf (diff)
downloadPeerTube-1a8dd4da77468068d1ff7f7bd67f76399ae04e04.tar.gz
PeerTube-1a8dd4da77468068d1ff7f7bd67f76399ae04e04.tar.zst
PeerTube-1a8dd4da77468068d1ff7f7bd67f76399ae04e04.zip
Fix AP redirection
Diffstat (limited to 'server/controllers')
-rw-r--r--server/controllers/activitypub/client.ts28
1 files changed, 14 insertions, 14 deletions
diff --git a/server/controllers/activitypub/client.ts b/server/controllers/activitypub/client.ts
index d9d385460..1a4e28dc8 100644
--- a/server/controllers/activitypub/client.ts
+++ b/server/controllers/activitypub/client.ts
@@ -162,10 +162,10 @@ function getAccountVideoRate (rateType: VideoRateType) {
162 } 162 }
163} 163}
164 164
165async function videoController (req: express.Request, res: express.Response, next: express.NextFunction) { 165async function videoController (req: express.Request, res: express.Response) {
166 const video: VideoModel = res.locals.video 166 const video: VideoModel = res.locals.video
167 167
168 if (video.isOwned() === false) return res.redirect(video.url) 168 if (video.url.startsWith(CONFIG.WEBSERVER.URL) === false) return res.redirect(video.url)
169 169
170 // We need captions to render AP object 170 // We need captions to render AP object
171 video.VideoCaptions = await VideoCaptionModel.listVideoCaptions(video.id) 171 video.VideoCaptions = await VideoCaptionModel.listVideoCaptions(video.id)
@@ -181,17 +181,17 @@ async function videoController (req: express.Request, res: express.Response, nex
181 return activityPubResponse(activityPubContextify(videoObject), res) 181 return activityPubResponse(activityPubContextify(videoObject), res)
182} 182}
183 183
184async function videoAnnounceController (req: express.Request, res: express.Response, next: express.NextFunction) { 184async function videoAnnounceController (req: express.Request, res: express.Response) {
185 const share = res.locals.videoShare as VideoShareModel 185 const share = res.locals.videoShare as VideoShareModel
186 186
187 if (share.Actor.isOwned() === false) return res.redirect(share.url) 187 if (share.url.startsWith(CONFIG.WEBSERVER.URL) === false) return res.redirect(share.url)
188 188
189 const { activity } = await buildAnnounceWithVideoAudience(share.Actor, share, res.locals.video, undefined) 189 const { activity } = await buildAnnounceWithVideoAudience(share.Actor, share, res.locals.video, undefined)
190 190
191 return activityPubResponse(activityPubContextify(activity), res) 191 return activityPubResponse(activityPubContextify(activity), res)
192} 192}
193 193
194async function videoAnnouncesController (req: express.Request, res: express.Response, next: express.NextFunction) { 194async function videoAnnouncesController (req: express.Request, res: express.Response) {
195 const video: VideoModel = res.locals.video 195 const video: VideoModel = res.locals.video
196 196
197 const handler = async (start: number, count: number) => { 197 const handler = async (start: number, count: number) => {
@@ -206,21 +206,21 @@ async function videoAnnouncesController (req: express.Request, res: express.Resp
206 return activityPubResponse(activityPubContextify(json), res) 206 return activityPubResponse(activityPubContextify(json), res)
207} 207}
208 208
209async function videoLikesController (req: express.Request, res: express.Response, next: express.NextFunction) { 209async function videoLikesController (req: express.Request, res: express.Response) {
210 const video: VideoModel = res.locals.video 210 const video: VideoModel = res.locals.video
211 const json = await videoRates(req, 'like', video, getVideoLikesActivityPubUrl(video)) 211 const json = await videoRates(req, 'like', video, getVideoLikesActivityPubUrl(video))
212 212
213 return activityPubResponse(activityPubContextify(json), res) 213 return activityPubResponse(activityPubContextify(json), res)
214} 214}
215 215
216async function videoDislikesController (req: express.Request, res: express.Response, next: express.NextFunction) { 216async function videoDislikesController (req: express.Request, res: express.Response) {
217 const video: VideoModel = res.locals.video 217 const video: VideoModel = res.locals.video
218 const json = await videoRates(req, 'dislike', video, getVideoDislikesActivityPubUrl(video)) 218 const json = await videoRates(req, 'dislike', video, getVideoDislikesActivityPubUrl(video))
219 219
220 return activityPubResponse(activityPubContextify(json), res) 220 return activityPubResponse(activityPubContextify(json), res)
221} 221}
222 222
223async function videoCommentsController (req: express.Request, res: express.Response, next: express.NextFunction) { 223async function videoCommentsController (req: express.Request, res: express.Response) {
224 const video: VideoModel = res.locals.video 224 const video: VideoModel = res.locals.video
225 225
226 const handler = async (start: number, count: number) => { 226 const handler = async (start: number, count: number) => {
@@ -235,30 +235,30 @@ async function videoCommentsController (req: express.Request, res: express.Respo
235 return activityPubResponse(activityPubContextify(json), res) 235 return activityPubResponse(activityPubContextify(json), res)
236} 236}
237 237
238async function videoChannelController (req: express.Request, res: express.Response, next: express.NextFunction) { 238async function videoChannelController (req: express.Request, res: express.Response) {
239 const videoChannel: VideoChannelModel = res.locals.videoChannel 239 const videoChannel: VideoChannelModel = res.locals.videoChannel
240 240
241 return activityPubResponse(activityPubContextify(videoChannel.toActivityPubObject()), res) 241 return activityPubResponse(activityPubContextify(videoChannel.toActivityPubObject()), res)
242} 242}
243 243
244async function videoChannelFollowersController (req: express.Request, res: express.Response, next: express.NextFunction) { 244async function videoChannelFollowersController (req: express.Request, res: express.Response) {
245 const videoChannel: VideoChannelModel = res.locals.videoChannel 245 const videoChannel: VideoChannelModel = res.locals.videoChannel
246 const activityPubResult = await actorFollowers(req, videoChannel.Actor) 246 const activityPubResult = await actorFollowers(req, videoChannel.Actor)
247 247
248 return activityPubResponse(activityPubContextify(activityPubResult), res) 248 return activityPubResponse(activityPubContextify(activityPubResult), res)
249} 249}
250 250
251async function videoChannelFollowingController (req: express.Request, res: express.Response, next: express.NextFunction) { 251async function videoChannelFollowingController (req: express.Request, res: express.Response) {
252 const videoChannel: VideoChannelModel = res.locals.videoChannel 252 const videoChannel: VideoChannelModel = res.locals.videoChannel
253 const activityPubResult = await actorFollowing(req, videoChannel.Actor) 253 const activityPubResult = await actorFollowing(req, videoChannel.Actor)
254 254
255 return activityPubResponse(activityPubContextify(activityPubResult), res) 255 return activityPubResponse(activityPubContextify(activityPubResult), res)
256} 256}
257 257
258async function videoCommentController (req: express.Request, res: express.Response, next: express.NextFunction) { 258async function videoCommentController (req: express.Request, res: express.Response) {
259 const videoComment: VideoCommentModel = res.locals.videoComment 259 const videoComment: VideoCommentModel = res.locals.videoComment
260 260
261 if (videoComment.isOwned() === false) return res.redirect(videoComment.url) 261 if (videoComment.url.startsWith(CONFIG.WEBSERVER.URL) === false) return res.redirect(videoComment.url)
262 262
263 const threadParentComments = await VideoCommentModel.listThreadParentComments(videoComment, undefined) 263 const threadParentComments = await VideoCommentModel.listThreadParentComments(videoComment, undefined)
264 const isPublic = true // Comments are always public 264 const isPublic = true // Comments are always public
@@ -276,7 +276,7 @@ async function videoCommentController (req: express.Request, res: express.Respon
276 276
277async function videoRedundancyController (req: express.Request, res: express.Response) { 277async function videoRedundancyController (req: express.Request, res: express.Response) {
278 const videoRedundancy: VideoRedundancyModel = res.locals.videoRedundancy 278 const videoRedundancy: VideoRedundancyModel = res.locals.videoRedundancy
279 if (videoRedundancy.isOwned() === false) return res.redirect(videoRedundancy.url) 279 if (videoRedundancy.url.startsWith(CONFIG.WEBSERVER.URL) === false) return res.redirect(videoRedundancy.url)
280 280
281 const serverActor = await getServerActor() 281 const serverActor = await getServerActor()
282 282