Adapt react-client to use the real backend API (#1545)

Co-authored-by: Philip Molares <philip.molares@udo.edu>
Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Erik Michelson 2022-04-15 23:03:15 +02:00 committed by GitHub
parent 3399ed2023
commit 26f90505ff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
227 changed files with 4726 additions and 2310 deletions

View file

@ -0,0 +1,41 @@
/*
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import type { NextApiRequest, NextApiResponse } from 'next'
export enum HttpMethod {
GET = 'GET',
POST = 'POST',
PUT = 'PUT',
DELETE = 'DELETE'
}
/**
* Intercepts a mock HTTP request, checks the used request method and responds with given response content or an error
* that the request method is not allowed.
*
* @param method The expected HTTP method.
* @param req The request object.
* @param res The response object.
* @param response The response data that will be returned when the HTTP method was the expected one.
* @param statusCode The status code with which the response will be sent.
* @return true if the HTTP method of the request is the expected one, false otherwise.
*/
export const respondToMatchingRequest = <T>(
method: HttpMethod,
req: NextApiRequest,
res: NextApiResponse,
response: T,
statusCode = 200
): boolean => {
if (method !== req.method) {
res.status(405).send('Method not allowed')
return false
} else {
res.status(statusCode).json(response)
return true
}
}