Skip to main content
Module

x/dgql/server.ts

0 config deno full featured graphql side car. Generate gql from any datasource.
Latest
File
import { GraphQLHTTP, gql, green, makeExecutableSchema, serve, ServerRequest,} from "./deps.ts";import { config } from "./config.ts";import type { Ctx } from "./types.ts";
const { port, graphiql } = config;
const typeDefs = gql` type Query { health: String }`;
const resolvers = { Query: { health: (_: unknown, __: unknown, ctx: Ctx) => { return `Health Check ${ctx.request.url}! Custom context property ${ctx.ctxProp}`; }, },};
const schema = makeExecutableSchema({ resolvers, typeDefs });const server = serve({ port });
console.log(`graphql server listening at ${green(`http://127.0.0.1:${port}`)}`);
for await (const req of server) { if (req.url.startsWith("/graphql")) { await GraphQLHTTP<ServerRequest>({ schema, graphiql, context: (request) => ({ request, ctxProp: req.headers.get("host"), }), })(req); } else { req.respond({ status: 404, }); }}
export { server };