]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/requests.js
3 const replay
= require('request-replay')
4 const request
= require('request')
6 const constants
= require('../initializers/constants')
7 const peertubeCrypto
= require('./peertube-crypto')
10 makeRetryRequest: makeRetryRequest
,
11 makeSecureRequest: makeSecureRequest
14 function makeRetryRequest (params
, callback
) {
16 request(params
, callback
),
18 retries: constants
.RETRY_REQUESTS
,
21 errorCodes: [ 'EADDRINFO', 'ETIMEDOUT', 'ECONNRESET', 'ESOCKETTIMEDOUT', 'ENOTFOUND', 'ECONNREFUSED' ]
26 function makeSecureRequest (params
, callback
) {
27 const requestParams
= {
28 url: params
.toPod
.url
+ params
.path
31 // Add data with POST requst ?
32 if (params
.method
=== 'POST') {
33 requestParams
.json
= {}
35 // Add signature if it is specified in the params
36 if (params
.sign
=== true) {
37 requestParams
.json
.signature
= {
38 url: constants
.CONFIG
.WEBSERVER
.URL
,
39 signature: peertubeCrypto
.sign(constants
.CONFIG
.WEBSERVER
.URL
)
43 // If there are data informations
46 if (params
.encrypt
=== true) {
47 peertubeCrypto
.encrypt(params
.toPod
.publicKey
, JSON
.stringify(params
.data
), function (err
, encrypted
) {
48 if (err
) return callback(err
)
50 requestParams
.json
.data
= encrypted
.data
51 requestParams
.json
.key
= encrypted
.key
53 request
.post(requestParams
, callback
)
57 requestParams
.json
.data
= params
.data
58 request
.post(requestParams
, callback
)
62 request
.post(requestParams
, callback
)
65 request
.get(requestParams
, callback
)
69 // ---------------------------------------------------------------------------
71 module
.exports
= requests