Skip to content

Commit 4d5a1a9

Browse files
committed
gentle fallback if appsec template files are missing
1 parent 09d605f commit 4d5a1a9

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

packages/dd-trace/src/appsec/blocking.js

+26-6
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ const fs = require('fs')
55

66
// TODO: move template loading to a proper spot.
77
let templateLoaded = false
8-
let templateHtml = ''
9-
let templateJson = ''
8+
let templateHtml = '<html>blocked</html>'
9+
let templateJson = '{"error": "blocked"}'
1010

1111
function block (req, res, rootSpan, abortController) {
1212
if (res.headersSent) {
@@ -44,16 +44,36 @@ function block (req, res, rootSpan, abortController) {
4444

4545
function loadTemplates (config) {
4646
if (!templateLoaded) {
47-
templateHtml = fs.readFileSync(config.appsec.blockedTemplateHtml)
48-
templateJson = fs.readFileSync(config.appsec.blockedTemplateJson)
47+
try {
48+
templateHtml = fs.readFileSync(config.appsec.blockedTemplateHtml)
49+
} catch (err) {
50+
log.warn(`Unable to read ${config.appsec.blockedTemplateHtml} from disk.`)
51+
}
52+
53+
try {
54+
templateJson = fs.readFileSync(config.appsec.blockedTemplateJson)
55+
} catch (err) {
56+
log.warn(`Unable to read ${config.appsec.blockedTemplateJson} from disk.`)
57+
}
58+
4959
templateLoaded = true
5060
}
5161
}
5262

5363
async function loadTemplatesAsync (config) {
5464
if (!templateLoaded) {
55-
templateHtml = await fs.promises.readFile(config.appsec.blockedTemplateHtml)
56-
templateJson = await fs.promises.readFile(config.appsec.blockedTemplateJson)
65+
try {
66+
templateHtml = await fs.promises.readFile(config.appsec.blockedTemplateHtml)
67+
} catch (err) {
68+
log.warn(`Unable to read ${config.appsec.blockedTemplateHtml} from disk.`)
69+
}
70+
71+
try {
72+
templateJson = await fs.promises.readFile(config.appsec.blockedTemplateJson)
73+
} catch (err) {
74+
log.warn(`Unable to read ${config.appsec.blockedTemplateJson} from disk.`)
75+
}
76+
5777
templateLoaded = true
5878
}
5979
}

0 commit comments

Comments
 (0)