Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return async (req, res) => {
this.graphqlPath = path || "/graphql";
await promiseWillStart;
// If file uploads are detected, prepare them for easier handling with
// the help of `graphql-upload`.
if (this.uploadsConfig) {
const contentType = req.headers["content-type"];
if (contentType && contentType.startsWith("multipart/form-data")) {
req.filePayload = await processRequest(req, res, this.uploadsConfig);
}
}
// If health checking is enabled, trigger the `onHealthCheck`
// function when the health check URL is requested.
if (!disableHealthCheck && req.url === "/.well-known/apollo/server-health")
return await this.handleHealthCheck({ req, res, onHealthCheck });
// If the `playgroundOptions` are set, register a `graphql-playground` instance
// (not available in production) that is then used to handle all
// incoming GraphQL requests.
if (this.playgroundOptions && req.method === "GET") {
const { mediaTypes } = accept.parseAll(req.headers);
const prefersHTML =
mediaTypes.find(x => x === "text/html" || x === "application/json") ===
"text/html";