* expose fetchLimitBytes/userAgent in got-config module * export a function not a factory * send better user-agent values - add userAgentBase setting - send short SHA in user agent on heroku - set a version (tag or short SHA) in Dockefile and use it to report server version in UA for docker users * add a comment explaining fileSize Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
import {
|
|
semver as joiSemver,
|
|
semverRange as joiSemverRange,
|
|
} from 'joi-extension-semver'
|
|
import joi from 'joi'
|
|
const Joi = joi.extend(joiSemver).extend(joiSemverRange)
|
|
|
|
const optionalNonNegativeInteger = Joi.number().integer().min(0)
|
|
|
|
export { optionalNonNegativeInteger }
|
|
export const nonNegativeInteger = optionalNonNegativeInteger.required()
|
|
export const anyInteger = Joi.number().integer().required()
|
|
export const semver = Joi.semver().valid().required()
|
|
export const semverRange = Joi.semverRange().valid().required()
|
|
export const optionalDottedVersionNClausesWithOptionalSuffix =
|
|
Joi.string().regex(/^\d+(\.\d+)*([-+].*)?$/)
|
|
// TODO This accepts URLs with query strings and fragments, which for some
|
|
// purposes should be rejected.
|
|
export const optionalUrl = Joi.string().uri({ scheme: ['http', 'https'] })
|
|
|
|
// validator for a file size we are going to pass to bytes.parse
|
|
// see https://github.com/visionmedia/bytes.js#bytesparsestringnumber-value-numbernull
|
|
export const fileSize = Joi.string()
|
|
.regex(/^[0-9]+(b|kb|mb|gb|tb)$/i)
|
|
.required()
|