@apollo/server
Version:
Core engine for Apollo GraphQL server
20 lines • 936 B
JavaScript
import cors from 'cors';
import express from 'express';
import http from 'http';
import { expressMiddleware } from '../express4/index.js';
import { ApolloServerPluginDrainHttpServer } from '../plugin/drainHttpServer/index.js';
import { urlForHttpServer } from '../utils/urlForHttpServer.js';
export async function startStandaloneServer(server, options) {
const app = express();
const httpServer = http.createServer(app);
server.addPlugin(ApolloServerPluginDrainHttpServer({ httpServer: httpServer }));
await server.start();
const context = options?.context ?? (async () => ({}));
app.use(cors(), express.json({ limit: '50mb' }), expressMiddleware(server, { context }));
const listenOptions = options?.listen ?? { port: 4000 };
await new Promise((resolve) => {
httpServer.listen(listenOptions, resolve);
});
return { url: urlForHttpServer(httpServer) };
}
//# sourceMappingURL=index.js.map