]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/extra-utils/feeds/feeds.ts
Use dns cache for requests
[github/Chocobozzz/PeerTube.git] / shared / extra-utils / feeds / feeds.ts
1 import * as request from 'supertest'
2 import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
3
4 type FeedType = 'videos' | 'video-comments' | 'subscriptions'
5
6 function getXMLfeed (url: string, feed: FeedType, format?: string) {
7 const path = '/feeds/' + feed + '.xml'
8
9 return request(url)
10 .get(path)
11 .query((format) ? { format: format } : {})
12 .set('Accept', 'application/xml')
13 .expect(HttpStatusCode.OK_200)
14 .expect('Content-Type', /xml/)
15 }
16
17 function getJSONfeed (url: string, feed: FeedType, query: any = {}, statusCodeExpected = HttpStatusCode.OK_200) {
18 const path = '/feeds/' + feed + '.json'
19
20 return request(url)
21 .get(path)
22 .query(query)
23 .set('Accept', 'application/json')
24 .expect(statusCodeExpected)
25 .expect('Content-Type', /json/)
26 }
27
28 // ---------------------------------------------------------------------------
29
30 export {
31 getXMLfeed,
32 getJSONfeed
33 }