This commit is contained in:
2024-10-11 17:11:47 +07:00
parent 9023725fc4
commit 85026556b2
17 changed files with 794 additions and 92 deletions

View File

@@ -4,7 +4,7 @@ import { Request, Response, NextFunction } from 'express';
@Injectable()
export class GraphQLValidationMiddleware implements NestMiddleware {
use(req: Request, res: Response, next: NextFunction) {
// Only handle POST requests
// handle post request
if (
req.method === 'POST' &&
req.headers['content-type'] === 'application/json'
@@ -12,18 +12,14 @@ export class GraphQLValidationMiddleware implements NestMiddleware {
const { query, mutation, subscription } = req.body;
// If none of these are present, return a custom error response
if (!query && !mutation && !subscription) {
return res.status(400).json({
errors: [
{
message:
'Must provide a valid GraphQL query, mutation, or subscription.',
},
],
});
}
// handle query only contain \n
if (query.trim() === '') {
if (
!query &&
!mutation &&
!subscription &&
query.trim() === '' &&
mutation.trim() === '' &&
subscription.trim() === ''
) {
return res.status(400).json({
errors: [
{