mirror of https://github.com/Chocobozzz/PeerTube
Set port if not specified in webfinger
parent
d4c6a3b985
commit
0405ab52dc
|
@ -2,13 +2,26 @@ import * as express from 'express'
|
||||||
import { Model } from 'sequelize-typescript'
|
import { Model } from 'sequelize-typescript'
|
||||||
import { ResultList } from '../../shared'
|
import { ResultList } from '../../shared'
|
||||||
import { VideoResolution } from '../../shared/models/videos'
|
import { VideoResolution } from '../../shared/models/videos'
|
||||||
import { CONFIG } from '../initializers'
|
import { CONFIG, REMOTE_SCHEME } from '../initializers'
|
||||||
import { UserModel } from '../models/account/user'
|
import { UserModel } from '../models/account/user'
|
||||||
import { ActorModel } from '../models/activitypub/actor'
|
import { ActorModel } from '../models/activitypub/actor'
|
||||||
import { ApplicationModel } from '../models/application/application'
|
import { ApplicationModel } from '../models/application/application'
|
||||||
import { pseudoRandomBytesPromise } from './core-utils'
|
import { pseudoRandomBytesPromise } from './core-utils'
|
||||||
import { logger } from './logger'
|
import { logger } from './logger'
|
||||||
|
|
||||||
|
function getHostWithPort (host: string) {
|
||||||
|
const splitted = host.split(':')
|
||||||
|
|
||||||
|
// The port was not specified
|
||||||
|
if (splitted.length === 1) {
|
||||||
|
if (REMOTE_SCHEME.HTTP === 'https') return host + ':443'
|
||||||
|
|
||||||
|
return host + ':80'
|
||||||
|
}
|
||||||
|
|
||||||
|
return host
|
||||||
|
}
|
||||||
|
|
||||||
function badRequest (req: express.Request, res: express.Response, next: express.NextFunction) {
|
function badRequest (req: express.Request, res: express.Response, next: express.NextFunction) {
|
||||||
return res.type('json').status(400).end()
|
return res.type('json').status(400).end()
|
||||||
}
|
}
|
||||||
|
@ -108,5 +121,6 @@ export {
|
||||||
computeResolutionsToTranscode,
|
computeResolutionsToTranscode,
|
||||||
resetSequelizeInstance,
|
resetSequelizeInstance,
|
||||||
getServerActor,
|
getServerActor,
|
||||||
SortType
|
SortType,
|
||||||
|
getHostWithPort
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import 'express-validator'
|
import 'express-validator'
|
||||||
import * as express from 'express'
|
import * as express from 'express'
|
||||||
|
import { getHostWithPort } from '../helpers'
|
||||||
|
|
||||||
import { REMOTE_SCHEME } from '../initializers'
|
import { REMOTE_SCHEME } from '../initializers'
|
||||||
|
|
||||||
|
@ -25,18 +26,3 @@ function setBodyHostsPort (req: express.Request, res: express.Response, next: ex
|
||||||
export {
|
export {
|
||||||
setBodyHostsPort
|
setBodyHostsPort
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
function getHostWithPort (host: string) {
|
|
||||||
const splitted = host.split(':')
|
|
||||||
|
|
||||||
// The port was not specified
|
|
||||||
if (splitted.length === 1) {
|
|
||||||
if (REMOTE_SCHEME.HTTP === 'https') return host + ':443'
|
|
||||||
|
|
||||||
return host + ':80'
|
|
||||||
}
|
|
||||||
|
|
||||||
return host
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import * as express from 'express'
|
import * as express from 'express'
|
||||||
import { query } from 'express-validator/check'
|
import { query } from 'express-validator/check'
|
||||||
import { logger } from '../../helpers'
|
import { getHostWithPort, logger } from '../../helpers'
|
||||||
import { isWebfingerResourceValid } from '../../helpers/custom-validators/webfinger'
|
import { isWebfingerResourceValid } from '../../helpers/custom-validators/webfinger'
|
||||||
import { ActorModel } from '../../models/activitypub/actor'
|
import { ActorModel } from '../../models/activitypub/actor'
|
||||||
import { areValidationErrors } from './utils'
|
import { areValidationErrors } from './utils'
|
||||||
|
@ -14,7 +14,7 @@ const webfingerValidator = [
|
||||||
if (areValidationErrors(req, res)) return
|
if (areValidationErrors(req, res)) return
|
||||||
|
|
||||||
// Remove 'acct:' from the beginning of the string
|
// Remove 'acct:' from the beginning of the string
|
||||||
const nameWithHost = req.query.resource.substr(5)
|
const nameWithHost = getHostWithPort(req.query.resource.substr(5))
|
||||||
const [ name ] = nameWithHost.split('@')
|
const [ name ] = nameWithHost.split('@')
|
||||||
|
|
||||||
const actor = await ActorModel.loadLocalByName(name)
|
const actor = await ActorModel.loadLocalByName(name)
|
||||||
|
|
Loading…
Reference in New Issue