Fixed missing docker middleware.

This commit is contained in:
Mike Cao 2023-08-30 23:53:05 -07:00
parent 620011a837
commit 68ffa823f8
2 changed files with 63 additions and 63 deletions

View File

@ -12,8 +12,8 @@ RUN yarn install --frozen-lockfile
FROM node:18-alpine AS builder FROM node:18-alpine AS builder
WORKDIR /app WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/node_modules ./node_modules
COPY docker/middleware.js .
COPY . . COPY . .
COPY docker/middleware.js ./src
ARG DATABASE_TYPE ARG DATABASE_TYPE
ARG BASE_PATH ARG BASE_PATH

View File

@ -7,7 +7,7 @@ import { getIpAddress } from 'lib/detect';
import { useCors, useSession, useValidate } from 'lib/middleware'; import { useCors, useSession, useValidate } from 'lib/middleware';
import { CollectionType, YupRequest } from 'lib/types'; import { CollectionType, YupRequest } from 'lib/types';
import { NextApiRequest, NextApiResponse } from 'next'; import { NextApiRequest, NextApiResponse } from 'next';
import { badRequest, createToken, forbidden, ok, send } from 'next-basics'; import { badRequest, createToken, forbidden, methodNotAllowed, ok, send } from 'next-basics';
import { saveEvent, saveSessionData } from 'queries'; import { saveEvent, saveSessionData } from 'queries';
import * as yup from 'yup'; import * as yup from 'yup';
@ -73,16 +73,13 @@ const schema = {
export default async (req: NextApiRequestCollect, res: NextApiResponse) => { export default async (req: NextApiRequestCollect, res: NextApiResponse) => {
await useCors(req, res); await useCors(req, res);
if (req.method === 'POST') {
if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) { if (isbot(req.headers['user-agent']) && !process.env.DISABLE_BOT_CHECK) {
return ok(res); return ok(res);
} }
const { type, payload } = req.body; const { type, payload } = req.body;
if (!type || !payload) {
return badRequest(res);
}
req.yup = schema; req.yup = schema;
await useValidate(req, res); await useValidate(req, res);
@ -142,6 +139,9 @@ export default async (req: NextApiRequestCollect, res: NextApiResponse) => {
const token = createToken(session, secret()); const token = createToken(session, secret());
return send(res, token); return send(res, token);
}
return methodNotAllowed(res);
}; };
async function hasBlockedIp(req: NextApiRequestCollect) { async function hasBlockedIp(req: NextApiRequestCollect) {