diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-11-29 11:34:44 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-11-29 11:34:44 +0100 |
commit | 165cdc75bf1942ed687f78094c2bd366839a7c99 (patch) | |
tree | 4b174114bf175603202c3672c5dc04c22582701d /server | |
parent | 14063e965672ed724b7bfea6686acc14923e07a7 (diff) | |
download | PeerTube-165cdc75bf1942ed687f78094c2bd366839a7c99.tar.gz PeerTube-165cdc75bf1942ed687f78094c2bd366839a7c99.tar.zst PeerTube-165cdc75bf1942ed687f78094c2bd366839a7c99.zip |
Fix well known and json parser with mastodon
Diffstat (limited to 'server')
-rw-r--r-- | server/controllers/webfinger.ts | 1 | ||||
-rw-r--r-- | server/initializers/constants.ts | 7 | ||||
-rw-r--r-- | server/initializers/database.ts | 2 | ||||
-rw-r--r-- | server/middlewares/activitypub.ts | 4 | ||||
-rw-r--r-- | server/models/video/video.ts | 7 |
5 files changed, 19 insertions, 2 deletions
diff --git a/server/controllers/webfinger.ts b/server/controllers/webfinger.ts index 1cea513a1..78e5dee79 100644 --- a/server/controllers/webfinger.ts +++ b/server/controllers/webfinger.ts | |||
@@ -27,6 +27,7 @@ function webfingerController (req: express.Request, res: express.Response, next: | |||
27 | links: [ | 27 | links: [ |
28 | { | 28 | { |
29 | rel: 'self', | 29 | rel: 'self', |
30 | type: 'application/activity+json', | ||
30 | href: account.url | 31 | href: account.url |
31 | } | 32 | } |
32 | ] | 33 | ] |
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 82373ba84..6d8aa7332 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts | |||
@@ -219,7 +219,11 @@ const VIDEO_MIMETYPE_EXT = { | |||
219 | const SERVER_ACCOUNT_NAME = 'peertube' | 219 | const SERVER_ACCOUNT_NAME = 'peertube' |
220 | 220 | ||
221 | const ACTIVITY_PUB = { | 221 | const ACTIVITY_PUB = { |
222 | ACCEPT_HEADER: 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"', | 222 | ACCEPT_HEADERS: [ |
223 | 'application/activity+json, application/ld+json', | ||
224 | 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"' | ||
225 | ], | ||
226 | ACCEPT_HEADER: '', | ||
223 | PUBLIC: 'https://www.w3.org/ns/activitystreams#Public', | 227 | PUBLIC: 'https://www.w3.org/ns/activitystreams#Public', |
224 | COLLECTION_ITEMS_PER_PAGE: 10, | 228 | COLLECTION_ITEMS_PER_PAGE: 10, |
225 | FETCH_PAGE_LIMIT: 100, | 229 | FETCH_PAGE_LIMIT: 100, |
@@ -230,6 +234,7 @@ const ACTIVITY_PUB = { | |||
230 | MAGNET: [ 'application/x-bittorrent;x-scheme-handler/magnet' ] | 234 | MAGNET: [ 'application/x-bittorrent;x-scheme-handler/magnet' ] |
231 | } | 235 | } |
232 | } | 236 | } |
237 | ACTIVITY_PUB.ACCEPT_HEADER = ACTIVITY_PUB.ACCEPT_HEADERS[0] | ||
233 | 238 | ||
234 | // --------------------------------------------------------------------------- | 239 | // --------------------------------------------------------------------------- |
235 | 240 | ||
diff --git a/server/initializers/database.ts b/server/initializers/database.ts index 9b9a81e26..90dbba5b9 100644 --- a/server/initializers/database.ts +++ b/server/initializers/database.ts | |||
@@ -66,6 +66,8 @@ const sequelize = new Sequelize(dbname, username, password, { | |||
66 | operatorsAliases: false, | 66 | operatorsAliases: false, |
67 | 67 | ||
68 | logging: (message: string, benchmark: number) => { | 68 | logging: (message: string, benchmark: number) => { |
69 | if (process.env.NODE_DB_LOG === 'false') return | ||
70 | |||
69 | let newMessage = message | 71 | let newMessage = message |
70 | if (isTestInstance() === true && benchmark !== undefined) { | 72 | if (isTestInstance() === true && benchmark !== undefined) { |
71 | newMessage += ' | ' + benchmark + 'ms' | 73 | newMessage += ' | ' + benchmark + 'ms' |
diff --git a/server/middlewares/activitypub.ts b/server/middlewares/activitypub.ts index 061b2dddc..34386e76d 100644 --- a/server/middlewares/activitypub.ts +++ b/server/middlewares/activitypub.ts | |||
@@ -37,10 +37,12 @@ async function checkSignature (req: Request, res: Response, next: NextFunction) | |||
37 | 37 | ||
38 | function executeIfActivityPub (fun: RequestHandler | RequestHandler[]) { | 38 | function executeIfActivityPub (fun: RequestHandler | RequestHandler[]) { |
39 | return (req: Request, res: Response, next: NextFunction) => { | 39 | return (req: Request, res: Response, next: NextFunction) => { |
40 | if (req.header('Accept') !== ACTIVITY_PUB.ACCEPT_HEADER) { | 40 | if (ACTIVITY_PUB.ACCEPT_HEADERS.indexOf(req.header('Accept')) === -1) { |
41 | return next() | 41 | return next() |
42 | } | 42 | } |
43 | 43 | ||
44 | logger.debug('ActivityPub request for %s.', req.url) | ||
45 | |||
44 | if (Array.isArray(fun) === true) { | 46 | if (Array.isArray(fun) === true) { |
45 | return eachSeries(fun as RequestHandler[], (f, cb) => { | 47 | return eachSeries(fun as RequestHandler[], (f, cb) => { |
46 | f(req, res, cb) | 48 | f(req, res, cb) |
diff --git a/server/models/video/video.ts b/server/models/video/video.ts index 3f416d04c..f3469c1de 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts | |||
@@ -616,6 +616,13 @@ toActivityPubObject = function (this: VideoInstance) { | |||
616 | }) | 616 | }) |
617 | } | 617 | } |
618 | 618 | ||
619 | // Add video url too | ||
620 | url.push({ | ||
621 | type: 'Link', | ||
622 | mimeType: 'text/html', | ||
623 | url: CONFIG.WEBSERVER.URL + '/videos/watch/' + this.uuid | ||
624 | }) | ||
625 | |||
619 | const videoObject: VideoTorrentObject = { | 626 | const videoObject: VideoTorrentObject = { |
620 | type: 'Video' as 'Video', | 627 | type: 'Video' as 'Video', |
621 | id: this.url, | 628 | id: this.url, |