UBERF-7362: Do not cache branding served from front (#5889)

Signed-off-by: Alexey Zinoviev <alexey.zinoviev@xored.com>
This commit is contained in:
Alexey Zinoviev 2024-06-21 12:59:02 +04:00 committed by GitHub
parent ece5c0ec6c
commit 55a030d383
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 3 deletions

View File

@ -84,6 +84,7 @@ services:
- COLLABORATOR_URL=ws://localhost:3078
- COLLABORATOR_API_URL=http://localhost:3078
- STORAGE_CONFIG=${STORAGE_CONFIG}
- BRANDING_URL=http://localhost:8087/branding.json
restart: unless-stopped
collaborator:
image: hardcoreeng/collaborator

View File

@ -205,7 +205,7 @@ export async function configurePlatform() {
configureI18n()
const config: Config = await (await fetch(devConfig? '/config-dev.json' : '/config.json')).json()
const branding: BrandingMap = await (await fetch(config.BRANDING_URL ?? '/branding.json')).json()
const branding: BrandingMap = config.BRANDING_URL !== undefined ? await (await fetch(config.BRANDING_URL)).json() : {}
const myBranding = branding[window.location.host] ?? {}
console.log('loading configuration', config)

View File

@ -304,6 +304,15 @@ export function start (
const dist = resolve(process.env.PUBLIC_DIR ?? cwd(), 'dist')
console.log('serving static files from', dist)
let brandingUrl: URL | undefined
if (config.brandingUrl !== undefined) {
try {
brandingUrl = new URL(config.brandingUrl)
} catch (e) {
console.error('Invalid branding URL. Must be absolute URL.', e)
}
}
app.use(
expressStaticGzip(dist, {
serveStatic: {
@ -314,7 +323,10 @@ export function start (
lastModified: true,
index: false,
setHeaders (res, path) {
if (path.toLowerCase().includes('index.html')) {
if (
path.toLowerCase().includes('index.html') ||
(brandingUrl !== undefined && path.toLowerCase().includes(brandingUrl.pathname))
) {
res.setHeader('Cache-Control', cacheControlNoCache)
}
}

View File

@ -78,7 +78,7 @@ services:
- COLLABORATOR_URL=ws://localhost:3079
- COLLABORATOR_API_URL=http://localhost:3079
- STORAGE_CONFIG=${STORAGE_CONFIG}
- BRANDING_URL=/branding-test.json
- BRANDING_URL=http://localhost:8083/branding-test.json
transactor:
image: hardcoreeng/transactor
pull_policy: never