Skip to content

Instantly share code, notes, and snippets.

@sibelius
Created February 13, 2020 16:35
Show Gist options
  • Save sibelius/826b223c998871c0494788c0b3d4e9c8 to your computer and use it in GitHub Desktop.
Save sibelius/826b223c998871c0494788c0b3d4e9c8 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