Skip to content

Instantly share code, notes, and snippets.

@jgcmarins
Forked from sibelius/setupSubscription.tsx
Created March 17, 2020 13:45
Show Gist options
  • Save jgcmarins/fa717611b06032cfbc87be7c1043e2a0 to your computer and use it in GitHub Desktop.
Save jgcmarins/fa717611b06032cfbc87be7c1043e2a0 to your computer and use it in GitHub Desktop.
basic setupSubscription for Relay Environment
import { SubscribeFunction, Observable } from 'relay-runtime';
import { SubscriptionClient } from 'subscriptions-transport-ws';
import config from '../config';
import { getToken } from '../components/auth/security';
export const setupSubscription: SubscribeFunction = (request, variables) => {
const query = request.text;
const authorization = getToken();
const connectionParams = {};
if (authorization) {
connectionParams['authorization'] = authorization;
}
const subscriptionClient = new SubscriptionClient(config.SUBSCRIPTION_URL, {
reconnect: true,
connectionParams,
});
const observable = subscriptionClient.request({ query: query!, variables });
return Observable.from(observable);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment