
Security News
curl Shuts Down Bug Bounty Program After Flood of AI Slop Reports
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.
subscriptions-transport-sse
Advanced tools
A GraphQL Server-Side-Evenet (SSE) server and client to facilitate GraphQL subscriptions.
A GraphQL Server-Side-Evenet (SSE) server and client to facilitate GraphQL subscriptions.
That's an API compatible SSE transport implementation of subscriptions-transport-ws.
Using Yarn:
$ yarn add subscriptions-transport-sse
Or, using NPM:
$ npm install --save subscriptions-transport-sse
Starting with the server, create a new simple SubscriptionsManager, with a PubSub implementation:
import { SubscriptionManager, PubSub } from 'graphql-subscriptions'
const schema = {} // Replace with your GraphQL schema object
const pubsub = new PubSub()
const subscriptionManager = new SubscriptionManager({
schema,
pubsub
})
Now, use your subscriptionManager, and create your SubscriptionServer:
const express = require('express')
const app = express()
const expressGraphQLSubscriptionsSSETransport = require('subscriptions-transport-sse')
expressGraphQLSubscriptionsSSETransport.SubscriptionServer({
onSubscribe: (msg, params) => Object.assign({}, params, { context: { loaders: loaders(), } }),
subscriptionManager: graphqlSubscriptions.subscriptionManager,
}, {
express: app,
path: '/subscriptions',
})
app.listen(SERVICE_PORT, () => console.log(`Listen on ${SERVICE_PORT}`))
For client side, we will use SubscriptionClient, and we also need to extend our network interface to use this transport for GraphQL subscriptions:
import { SubscriptionClient, addGraphQLSubscriptions } from 'subscriptions-transport-sse'
const httpClient = createNetworkInterface({uri: `https://my-graphql.example.com/graphql`})
const sseClient = new SubscriptionClient(`https://my-graphql.example.com/subscriptions`)
const apolloClient = new ApolloClient({networkInterface: addGraphQLSubscriptions(httpClient, sseClient)})
Now, when you want to use subscriptions in client side, use your ApolloClient instance, with subscribe or subscribeToMore (according to your apollo-client usage):
apolloClient.subscribeToMore({
document: gql`
subscription onNewItem {
newItemCreated {
id
}
}`,
variables: {},
updateQuery: (prev, {subscriptionData}) => {
return; // Modify your store and return new state with the new arrived data
}
});
TBD, but compatible with subscriptions-transport-ws.
If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker.
This project is licensed under the MIT license. See the LICENSE file for more info.
You like this subscriptions-transport-sse and you want to see what coming next? Follow me on Twitter @mikebild.
Enjoy!
FAQs
A GraphQL Server-Side-Evenet (SSE) server and client to facilitate GraphQL subscriptions.
We found that subscriptions-transport-sse demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.

Product
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.