Replace request with fetch-utils in ExpressLocals

GitOrigin-RevId: 85c112a2124aeca128753e40c70869517c7026f6
This commit is contained in:
andrew rumble 2024-06-27 17:02:07 +01:00 committed by Copybot
parent 184edf9eae
commit 15ea69995a

View file

@ -5,7 +5,7 @@ const _ = require('lodash')
const { URL } = require('url') const { URL } = require('url')
const Path = require('path') const Path = require('path')
const moment = require('moment') const moment = require('moment')
const request = require('request') const { fetchJson, RequestFailedError } = require('@overleaf/fetch-utils')
const contentDisposition = require('content-disposition') const contentDisposition = require('content-disposition')
const Features = require('./Features') const Features = require('./Features')
const SessionManager = require('../Features/Authentication/SessionManager') const SessionManager = require('../Features/Authentication/SessionManager')
@ -51,24 +51,28 @@ switch (process.env.NODE_ENV) {
webpackManifest = {} webpackManifest = {}
} }
function loadManifestFromWebpackDevServer(done = function () {}) { function loadManifestFromWebpackDevServer(done = function () {}) {
request( webpackManifest = fetchJson(
new URL(`/manifest.json`, Settings.apis.webpack.url),
{ {
uri: `${Settings.apis.webpack.url}/manifest.json`, headers: {
headers: { Host: 'localhost' }, Host: 'localhost',
json: true, },
},
(err, res, body) => {
if (!err && res.statusCode !== 200) {
err = new Error(`webpack responded with statusCode: ${res.statusCode}`)
}
if (err) {
logger.err({ err }, 'cannot fetch webpack manifest')
return done(err)
}
webpackManifest = body
done()
} }
) )
.then(json => {
webpackManifest = json
done()
})
.catch(err => {
let error = err
if (err instanceof RequestFailedError) {
error = new Error(
`webpack responded with statusCode: ${err.response.status}`
)
}
logger.err({ error }, 'cannot fetch webpack manifest')
done(error)
})
} }
const IN_CI = process.env.NODE_ENV === 'test' const IN_CI = process.env.NODE_ENV === 'test'
function getWebpackAssets(entrypoint, section) { function getWebpackAssets(entrypoint, section) {