]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/requests.js
3 const config
= require('config')
4 const replay
= require('request-replay')
5 const request
= require('request')
7 const constants
= require('../initializers/constants')
8 const peertubeCrypto
= require('./peertubeCrypto')
10 const http
= config
.get('webserver.https') ? 'https' : 'http'
11 const host
= config
.get('webserver.host')
12 const port
= config
.get('webserver.port')
15 makeRetryRequest: makeRetryRequest
,
16 makeSecureRequest: makeSecureRequest
19 function makeRetryRequest (params
, callback
) {
21 request(params
, callback
),
23 retries: constants
.RETRY_REQUESTS
,
26 errorCodes: [ 'EADDRINFO', 'ETIMEDOUT', 'ECONNRESET', 'ESOCKETTIMEDOUT', 'ENOTFOUND', 'ECONNREFUSED' ]
31 function makeSecureRequest (params
, callback
) {
32 const myUrl
= http
+ '://' + host
+ ':' + port
34 const requestParams
= {
35 url: params
.toPod
.url
+ params
.path
38 // Add data with POST requst ?
39 if (params
.method
=== 'POST') {
40 requestParams
.json
= {}
42 // Add signature if it is specified in the params
43 if (params
.sign
=== true) {
44 requestParams
.json
.signature
= {
46 signature: peertubeCrypto
.sign(myUrl
)
50 // If there are data informations
53 if (params
.encrypt
=== true) {
54 peertubeCrypto
.encrypt(params
.toPod
.publicKey
, JSON
.stringify(params
.data
), function (err
, encrypted
) {
55 if (err
) return callback(err
)
57 requestParams
.json
.data
= encrypted
.data
58 requestParams
.json
.key
= encrypted
.key
60 request
.post(requestParams
, callback
)
64 requestParams
.json
.data
= params
.data
65 request
.post(requestParams
, callback
)
69 request
.post(requestParams
, callback
)
72 request
.get(requestParams
, callback
)
76 // ---------------------------------------------------------------------------
78 module
.exports
= requests