Set port if not specified in webfinger

This commit is contained in:
Chocobozzz 2017-12-19 14:21:14 +01:00
parent d4c6a3b985
commit 0405ab52dc
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 19 additions and 19 deletions

View File

@ -2,13 +2,26 @@ import * as express from 'express'
import { Model } from 'sequelize-typescript'
import { ResultList } from '../../shared'
import { VideoResolution } from '../../shared/models/videos'
import { CONFIG } from '../initializers'
import { CONFIG, REMOTE_SCHEME } from '../initializers'
import { UserModel } from '../models/account/user'
import { ActorModel } from '../models/activitypub/actor'
import { ApplicationModel } from '../models/application/application'
import { pseudoRandomBytesPromise } from './core-utils'
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) {
return res.type('json').status(400).end()
}
@ -108,5 +121,6 @@ export {
computeResolutionsToTranscode,
resetSequelizeInstance,
getServerActor,
SortType
SortType,
getHostWithPort
}

View File

@ -1,5 +1,6 @@
import 'express-validator'
import * as express from 'express'
import { getHostWithPort } from '../helpers'
import { REMOTE_SCHEME } from '../initializers'
@ -25,18 +26,3 @@ function setBodyHostsPort (req: express.Request, res: express.Response, next: ex
export {
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
}

View File

@ -1,6 +1,6 @@
import * as express from 'express'
import { query } from 'express-validator/check'
import { logger } from '../../helpers'
import { getHostWithPort, logger } from '../../helpers'
import { isWebfingerResourceValid } from '../../helpers/custom-validators/webfinger'
import { ActorModel } from '../../models/activitypub/actor'
import { areValidationErrors } from './utils'
@ -14,7 +14,7 @@ const webfingerValidator = [
if (areValidationErrors(req, res)) return
// 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 actor = await ActorModel.loadLocalByName(name)