-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'
-
-function doRequest (requestOptions: request.CoreOptions & request.UriOptions) {
- return new Promise<{ response: request.RequestResponse, body: any }>((res, rej) => {
+import { ACTIVITY_PUB, PEERTUBE_VERSION, WEBSERVER } from '../initializers/constants'
+import { processImage } from './image-utils'
+import { join } from 'path'
+import { logger } from './logger'
+import { CONFIG } from '../initializers/config'
+
+function doRequest <T> (
+ requestOptions: request.CoreOptions & request.UriOptions & { activityPub?: boolean },
+ bodyKBLimit = 1000 // 1MB
+): Bluebird<{ response: request.RequestResponse, body: T }> {
+ if (!(requestOptions.headers)) requestOptions.headers = {}
+ requestOptions.headers['User-Agent'] = getUserAgent()
+
+ if (requestOptions.activityPub === true) {
+ requestOptions.headers['accept'] = ACTIVITY_PUB.ACCEPT_HEADER
+ }
+
+ return new Bluebird<{ response: request.RequestResponse, body: T }>((res, rej) => {