OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
API
/
swagger-ui-5.17.14
/
docker
/
configurator
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/07/2024 04:33:47 AM
rwxr-xr-x
📄
helpers.js
271 bytes
08/07/2024 04:33:47 AM
rw-r--r--
📄
index.js
2.08 KB
08/07/2024 04:33:47 AM
rw-r--r--
📄
oauth.js
1.13 KB
08/07/2024 04:33:47 AM
rw-r--r--
📄
translator.js
2.48 KB
08/07/2024 04:33:47 AM
rw-r--r--
📄
variables.js
2.23 KB
08/07/2024 04:33:47 AM
rw-r--r--
Editing: translator.js
Close
// Converts an object of environment variables into a Swagger UI config object const configSchema = require("./variables") const defaultBaseConfig = { url: { value: "https://petstore.swagger.io/v2/swagger.json", schema: { type: "string", base: true } }, dom_id: { value: "#swagger-ui", schema: { type: "string", base: true } }, deepLinking: { value: "true", schema: { type: "boolean", base: true } }, presets: { value: `[\n SwaggerUIBundle.presets.apis,\n SwaggerUIStandalonePreset\n]`, schema: { type: "array", base: true } }, plugins: { value: `[\n SwaggerUIBundle.plugins.DownloadUrl\n]`, schema: { type: "array", base: true } }, layout: { value: "StandaloneLayout", schema: { type: "string", base: true } }, queryConfigEnabled: { value: "false", schema: { type: "boolean", base: true, } } } function objectToKeyValueString(env, { injectBaseConfig = false, schema = configSchema, baseConfig = defaultBaseConfig } = {}) { let valueStorage = injectBaseConfig ? Object.assign({}, baseConfig) : {} const keys = Object.keys(env) // Compute an intermediate representation that holds candidate values and schemas. // // This is useful for deduping between multiple env keys that set the same // config variable. keys.forEach(key => { const varSchema = schema[key] const value = env[key] if(!varSchema) return if(varSchema.onFound) { varSchema.onFound() } const storageContents = valueStorage[varSchema.name] if(storageContents) { if (varSchema.legacy === true && !storageContents.schema.base) { // If we're looking at a legacy var, it should lose out to any already-set value // except for base values return } delete valueStorage[varSchema.name] } valueStorage[varSchema.name] = { value, schema: varSchema } }) // Compute a key:value string based on valueStorage's contents. let result = "" Object.keys(valueStorage).forEach(key => { const value = valueStorage[key] const escapedName = /[^a-zA-Z0-9]/.test(key) ? `"${key}"` : key if (value.schema.type === "string") { result += `${escapedName}: "${value.value}",\n` } else { result += `${escapedName}: ${value.value === "" ? `undefined` : value.value},\n` } }) return result.trim() } module.exports = objectToKeyValueString