Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function* parser (ctx) {
var body
if (ctx.is('text/*')) {
body = yield text(ctx)
} else if (ctx.is('json')) {
body = yield co.json(ctx)
} else if (ctx.is('xml')) {
body = yield xml(ctx)
} else if (ctx.is('urlencoded')) {
body = yield co.form(ctx)
} else if (ctx.is('multipart')) {
body = yield multipart(ctx)
} else {
// return stream buffer for unsupported content-type
body = yield buffer(ctx)
}
return body
}
function* jsonBody(next) {
if (['POST', 'PUT', 'PATCH'].includes(this.method)) {
try {
this.state.body = yield parse.json(this);
} catch (e) {
// Possibly revisit this choice; if the body wasn't JSON-parsable then
// reject it immediately.
this.throw(400, 'Invalid request body');
}
if (!this.state.body) { this.state.body = {}; }
}
yield next;
}
module.exports.add = function* add (next) {
let body = yield parse.form(this);
// create a new user
let username = body.username;
let password = body.password;
let penName = body.penName;
let groupName = body.groupName;
let avatar = body.avatar;
let introduce = body.introduce;
if (!username || !password || !penName || !groupName) {
this.status = 400;
this.body = {
statusCode: 400,
reasonPhrase: "Bad Request",
description: "username, password, penName, groupName is required, and must be not void",
errorCode: 2000
return async function parseFormBody(ctx, next) {
if (!ctx.request.is('urlencoded')) {
return ctx.throw(400, 'expected x-www-form-urlencoded');
}
// eslint-disable-next-line require-atomic-updates
ctx.request.body = ctx.request.body || await parse.form(ctx, opts);
await next();
};
}
module.exports.add = function* add (next) {
let body = yield parse.form(this);
let groupName = body.groupName;
let description = body.description;
if (!groupName) {
// groupName can not be void
this.status = 400;
this.body = {
statusCode: 400,
reasonPhrase: "Bad Request",
description: "groupName can not be void",
errorCode: 5000
};
return ;
}
module.exports.update = function* update (next) {
// get user from checkUser
let user = this.user;
let body = yield parse.form(this);
// check which field need to update
let username = "";
let password = "";
let penName = "";
let introduce = "";
let updater = {};
if ("username" in body) {
username = body.username;
if (!username) {
this.status = 400;
this.body = {
statusCode: 400,
return yield new Promise((resolve, reject) => {
parse.text(koaContext).then(resolve).catch(reject);
});
}
app.use(async (ctx, next) => {
if (ctx.is('application/graphql')) {
ctx.request.body = await bodyParser.text(ctx);
}
await next();
});
router.post('/csp_violation', function*() {
if (rateLimitReq(this, this.req)) return;
let params;
try {
params = yield coBody(this);
} catch (error) {
console.log('-- /csp_violation error -->', error);
}
if (params && params['csp-report']) {
const csp_report = params['csp-report'];
const value = `${csp_report['document-uri']} : ${
csp_report['blocked-uri']
}`;
console.log(
'-- /csp_violation -->',
value,
'--',
this.req.headers['user-agent']
);
recordWebEvent(this, 'csp_violation', value);
} else {
router.post('/csp_violation', function*() {
if (rateLimitReq(this, this.req)) return;
let params;
try {
params = yield coBody(this);
} catch (error) {
console.log('-- /csp_violation error -->', error);
}
if (params && params['csp-report']) {
const csp_report = params['csp-report'];
const value = `${csp_report['document-uri']} : ${
csp_report['blocked-uri']
}`;
console.log(
'-- /csp_violation -->',
value,
'--',
this.req.headers['user-agent']
);
} else {
console.log(