Merge pull request #1271 from fjc0k/fix-swagger-auto-sync-https

fix: 优化插件【Swagger 自动同步】在添加地址时的服务端校验行为
This commit is contained in:
sean1025 2019-08-05 13:55:57 +08:00 committed by GitHub
commit 9ac0a9d197
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,9 +12,9 @@ const userModel = require('../models/user.js');
const logModel = require('../models/log.js');
const followModel = require('../models/follow.js');
const tokenModel = require('../models/token.js');
const url = require('url');
const {getToken} = require('../utils/token')
const sha = require('sha.js');
const axios = require('axios').default;
class projectController extends baseController {
constructor(ctx) {
@ -1119,15 +1119,17 @@ class projectController extends baseController {
return (ctx.body = yapi.commons.resReturn(queryList, 0, 'ok'));
}
// 输入 swagger url 的时候node端请求数据
// 输入 swagger url 的时候 node 端请求数据
async swaggerUrl(ctx) {
try {
let ops = url.parse(ctx.request.query.url);
let result = await yapi.commons.createWebAPIRequest(ops);
ctx.body = yapi.commons.resReturn(result);
const { url } = ctx.request.query;
const { data } = await axios.get(url);
if (data == null || typeof data !== 'object') {
throw new Error('返回数据格式不是 JSON');
}
ctx.body = yapi.commons.resReturn(data);
} catch (err) {
ctx.body = yapi.commons.resReturn(null, 402, err.message);
ctx.body = yapi.commons.resReturn(null, 402, String(err));
}
}
}