Joseph
05/15/2019, 9:46 PMHarshit
05/16/2019, 8:30 AMJoseph
05/16/2019, 8:37 AMHarshit
05/16/2019, 8:37 AMHarshit
05/16/2019, 8:37 AMJoseph
05/16/2019, 8:40 AMGraphQLServer.express
I was figuring there'd be a way to use it (assuming it's possible to use socket with middleware)?Harshit
05/16/2019, 8:41 AMJoseph
05/16/2019, 8:42 AMhttp.listen()
for
const http = require('http').Server(server.express);
const io = require('<http://socket.io|socket.io>')(http);
require('./socket')(io);
server.express.use(
cors({
credentials: true,
origin: '<http://localhost:3000>'
})
);
server.express.use((req, res, next) => {
<http://res.io|res.io> = io;
console.log(io);
next();
});
....
server.start(/*cors and port specification*/)
Harshit
05/16/2019, 8:43 AMJoseph
05/16/2019, 8:44 AMimport { GraphQLServer, PubSub } from 'graphql-yoga';
import {resolvers, fragmentReplacements} from './resolvers/index'
import prisma from './prisma'
const pubsub = new PubSub()
export default new GraphQLServer({
typeDefs: './src/schema.graphql',
resolvers,
context(request) {
return {
pubsub,
prisma,
request, //fragmentReplacements[], request, response
}
},
fragmentReplacements,
debug: true,
});
Harshit
05/16/2019, 8:44 AMJoseph
05/16/2019, 8:45 AMHarshit
05/16/2019, 8:45 AMHarshit
05/16/2019, 8:45 AMHarshit
05/16/2019, 8:46 AMJoseph
05/16/2019, 8:56 AMpubsub
implementation from apollo-server or apollo-server-express?Harshit
05/16/2019, 9:00 AMHarshit
05/16/2019, 9:00 AMJoseph
05/16/2019, 9:20 AMJoseph
05/16/2019, 9:20 AMimport { GraphQLServer, PubSub } from 'graphql-yoga';
import { resolvers, fragmentReplacements } from './resolvers/index';
import prisma from './prisma';
const pubsub = new PubSub();
export default new GraphQLServer({
typeDefs: './src/schema.graphql',
resolvers,
context(request) {
return {
pubsub,
prisma,
request //fragmentReplacements[], request, response
};
},
fragmentReplacements,
debug: true
});
Joseph
05/16/2019, 9:20 AMimport { ApolloServer, PubSub } from 'apollo-server-express';
import { resolvers, fragmentReplacements } from './resolvers/index';
import { importSchema } from 'graphql-import'
import prisma from './prisma';
const pubsub = new PubSub();
export default new ApolloServer({
typeDefs: importSchema('./src/schema.graphql'),
resolvers,
context: (request) => ({
pubsub,
prisma,
request,
}),
fragmentReplacements,
debug: true,
})
Joseph
05/16/2019, 10:00 AMimport server from './server'; // ApolloServer
import express from 'express';
const app = express();
server.applyMiddleware({ app });
const http = require('http').createServer(app);
const io = require('<http://socket.io|socket.io>')(http);
io.listen(http);
app.use(
cors({
credentials: true,
origin: '<http://localhost:3000>'
})
);
app.listen({ port: 4000 }, () => console.log('Server up on port 4000'));
Harshit
05/16/2019, 1:22 PMJoseph
05/17/2019, 1:40 AM{req, res}
instead of {request, response}
Joseph
05/17/2019, 3:29 AM