mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
Make it compile at least
This commit is contained in:
parent
38fa206583
commit
571389d43b
53 changed files with 342 additions and 1256 deletions
|
@ -1,16 +1,6 @@
|
|||
import * as replay from 'request-replay'
|
||||
import * as request from 'request'
|
||||
import * as Promise from 'bluebird'
|
||||
|
||||
import {
|
||||
RETRY_REQUESTS,
|
||||
REMOTE_SCHEME,
|
||||
CONFIG
|
||||
} from '../initializers'
|
||||
import { PodInstance } from '../models'
|
||||
import { PodSignature } from '../../shared'
|
||||
import { signObject } from './peertube-crypto'
|
||||
import { createWriteStream } from 'fs'
|
||||
import * as request from 'request'
|
||||
|
||||
function doRequest (requestOptions: request.CoreOptions & request.UriOptions) {
|
||||
return new Promise<{ response: request.RequestResponse, body: any }>((res, rej) => {
|
||||
|
@ -27,78 +17,9 @@ function doRequestAndSaveToFile (requestOptions: request.CoreOptions & request.U
|
|||
})
|
||||
}
|
||||
|
||||
type MakeRetryRequestParams = {
|
||||
url: string,
|
||||
method: 'GET' | 'POST',
|
||||
json: Object
|
||||
}
|
||||
function makeRetryRequest (params: MakeRetryRequestParams) {
|
||||
return new Promise<{ response: request.RequestResponse, body: any }>((res, rej) => {
|
||||
replay(
|
||||
request(params, (err, response, body) => err ? rej(err) : res({ response, body })),
|
||||
{
|
||||
retries: RETRY_REQUESTS,
|
||||
factor: 3,
|
||||
maxTimeout: Infinity,
|
||||
errorCodes: [ 'EADDRINFO', 'ETIMEDOUT', 'ECONNRESET', 'ESOCKETTIMEDOUT', 'ENOTFOUND', 'ECONNREFUSED' ]
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
type MakeSecureRequestParams = {
|
||||
toPod: PodInstance
|
||||
path: string
|
||||
data?: Object
|
||||
}
|
||||
function makeSecureRequest (params: MakeSecureRequestParams) {
|
||||
const requestParams: {
|
||||
method: 'POST',
|
||||
uri: string,
|
||||
json: {
|
||||
signature: PodSignature,
|
||||
data: any
|
||||
}
|
||||
} = {
|
||||
method: 'POST',
|
||||
uri: REMOTE_SCHEME.HTTP + '://' + params.toPod.host + params.path,
|
||||
json: {
|
||||
signature: null,
|
||||
data: null
|
||||
}
|
||||
}
|
||||
|
||||
const host = CONFIG.WEBSERVER.HOST
|
||||
|
||||
let dataToSign
|
||||
if (params.data) {
|
||||
dataToSign = params.data
|
||||
} else {
|
||||
// We do not have data to sign so we just take our host
|
||||
// It is not ideal but the connection should be in HTTPS
|
||||
dataToSign = host
|
||||
}
|
||||
|
||||
sign(dataToSign).then(signature => {
|
||||
requestParams.json.signature = {
|
||||
host, // Which host we pretend to be
|
||||
signature
|
||||
}
|
||||
|
||||
// If there are data information
|
||||
if (params.data) {
|
||||
requestParams.json.data = params.data
|
||||
}
|
||||
|
||||
return doRequest(requestParams)
|
||||
})
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export {
|
||||
doRequest,
|
||||
doRequestAndSaveToFile,
|
||||
makeRetryRequest,
|
||||
makeSecureRequest
|
||||
doRequestAndSaveToFile
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue