diff options
author | Chocobozzz <me@florianbigard.com> | 2018-11-30 15:06:06 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-11-30 15:06:36 +0100 |
commit | 1a8dd4da77468068d1ff7f7bd67f76399ae04e04 (patch) | |
tree | 430e92852055117af2a274ce7c6a92ee9f037f0a /server/controllers | |
parent | d7ea359d366f0caaf1efff2b727dd736c1301ddf (diff) | |
download | PeerTube-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.ts | 28 |
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 | ||
165 | async function videoController (req: express.Request, res: express.Response, next: express.NextFunction) { | 165 | async 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 | ||
184 | async function videoAnnounceController (req: express.Request, res: express.Response, next: express.NextFunction) { | 184 | async 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 | ||
194 | async function videoAnnouncesController (req: express.Request, res: express.Response, next: express.NextFunction) { | 194 | async 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 | ||
209 | async function videoLikesController (req: express.Request, res: express.Response, next: express.NextFunction) { | 209 | async 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 | ||
216 | async function videoDislikesController (req: express.Request, res: express.Response, next: express.NextFunction) { | 216 | async 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 | ||
223 | async function videoCommentsController (req: express.Request, res: express.Response, next: express.NextFunction) { | 223 | async 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 | ||
238 | async function videoChannelController (req: express.Request, res: express.Response, next: express.NextFunction) { | 238 | async 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 | ||
244 | async function videoChannelFollowersController (req: express.Request, res: express.Response, next: express.NextFunction) { | 244 | async 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 | ||
251 | async function videoChannelFollowingController (req: express.Request, res: express.Response, next: express.NextFunction) { | 251 | async 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 | ||
258 | async function videoCommentController (req: express.Request, res: express.Response, next: express.NextFunction) { | 258 | async 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 | ||
277 | async function videoRedundancyController (req: express.Request, res: express.Response) { | 277 | async 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 | ||