mirror of https://gitee.com/bigwinds/arangodb
Fix swagger static path resolution
This commit is contained in:
parent
295e0ea19c
commit
57cd82f88c
|
@ -25,6 +25,7 @@
|
|||
var _ = require('lodash');
|
||||
var fs = require('fs');
|
||||
var joinPath = require('path').join;
|
||||
var resolvePath = require('path').resolve;
|
||||
var internal = require('internal');
|
||||
var ArangoError = require('@arangodb').ArangoError;
|
||||
var errors = require('@arangodb').errors;
|
||||
|
@ -93,12 +94,10 @@ function createSwaggerRouteHandler (defaultAppPath, opts) {
|
|||
}
|
||||
|
||||
function swaggerPath (path, basePath) {
|
||||
if (path.charAt(0) === '/') {
|
||||
return path;
|
||||
}
|
||||
if (!basePath) {
|
||||
basePath = joinPath(internal.startupPath, 'server', 'assets', 'swagger');
|
||||
}
|
||||
path = resolvePath('/', path);
|
||||
return joinPath(basePath, path);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
const NotFound = require('http-errors').NotFound;
|
||||
const fs = require('fs');
|
||||
const joinPath = require('path').join;
|
||||
const resolvePath = require('path').resolve;
|
||||
const internal = require('internal');
|
||||
const errors = require('@arangodb').errors;
|
||||
const FoxxManager = require('@arangodb/foxx/manager');
|
||||
|
@ -101,7 +102,8 @@ module.exports = function createSwaggerRouteHandler (foxxMount, opts) {
|
|||
} else if (path === 'index.html') {
|
||||
path = indexFile;
|
||||
}
|
||||
const filePath = path.charAt(0) === '/' ? path : joinPath(swaggerRoot, path);
|
||||
path = resolvePath('/', path);
|
||||
const filePath = joinPath(swaggerRoot, path);
|
||||
if (!fs.isFile(filePath)) {
|
||||
throw new NotFound(`unknown path "${req._raw.url}"`);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue