ApolloclientwithwsLink,authLink,httpLinkanduploadLink
创始人
2024-09-09 08:00:39
0

使用Apollo Client同时配置WebSocket、身份验证、HTTP和上传Link。

示例代码:

import { ApolloClient } from 'apollo-client';
import { split } from 'apollo-link';
import { WebSocketLink } from 'apollo-link-ws';
import { HttpLink } from 'apollo-link-http';
import { setContext } from 'apollo-link-context';
import { createUploadLink } from 'apollo-upload-client';
import { getMainDefinition } from 'apollo-utilities';

const wsLink = new WebSocketLink({
  uri: `ws://localhost:4000/graphql`,
  options: {
    reconnect: true
  }
});

const httpLink = new HttpLink({
  uri: '/graphql',
  credentials: 'same-origin'
});

const authLink = setContext((_, { headers }) => {
  const token = localStorage.getItem('token');
  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : ''
    }
  };
});

const uploadLink = createUploadLink({
  uri: '/graphql',
  credentials: 'same-origin'
});

const link = split(
  ({ query }) => {
    const { kind, operation } = getMainDefinition(query);
    return kind === 'OperationDefinition' && operation === 'subscription';
  },
  wsLink,
  authLink.concat(uploadLink).concat(httpLink)
);

const client = new ApolloClient({
  link,
  cache: new InMemoryCache()
});

以上代码中,WebSocket、HTTP和上传Link分别通过WebSocketLink、HttpLink和createUploadLink创建。身份验证Link则使用setContext设置请求头。最后使用split函数将WebSocket和非WebSocket请求分别处理。

相关内容

热门资讯

细节辅助!约局吧黑科技辅助器,... 长了四人上品十三攻略开挂教程视频分享装挂详细步骤在当今的网络游戏中,长了四人上品十三攻略作为一种经典...
盘点辅助!朋朋政和软件辅助,赣... 您好:这款赣牌圈小程序破解版游戏是可以开挂的,确实是有挂的,很多玩家在这款赣牌圈小程序破解版游戏中打...
科技辅助!指尖四川辅助脚本,乐... 科技辅助!指尖四川辅助脚本,乐平讨赏挂,分享个大家开挂(有挂助手) 了解更多开挂安装加(136704...
盘点辅助!麻雀智能辅助软件开挂... 盘点辅助!麻雀智能辅助软件开挂,新上游通用挂是真的吗,透视能赢开挂(有挂分析)您好:新上游通用挂是真...
教会辅助!人海大厅脚本,衢州都... 教会辅助!人海大厅脚本,衢州都莱辅助软件,教程辅助开挂(有挂辅助)>>您好:软件加薇13670430...
推荐辅助!免费吉祥填大坑有插件... 推荐辅助!免费吉祥填大坑有插件吗,小程序卡五星辅助,透视辅助开挂(有挂实锤)《详细加薇1367043...
传授辅助!浙江游戏大厅脚本软件... 传授辅助!浙江游戏大厅脚本软件,决战卡五星开挂方法,透视黑科技开挂(详细教程)浙江游戏大厅脚本软件a...
科技辅助!人海大厅脚本,皮皮胡... 您好:这款人海大厅脚本游戏是可以开挂的,确实是有挂的,很多玩家在这款人海大厅脚本游戏中打牌都会发现很...
传授辅助!丽水都莱有辅助吗,决... 传授辅助!丽水都莱有辅助吗,决战十水三辅助,一起来探讨开挂(有挂助手)【无需打开直接搜索加薇1367...
盘点辅助!奇迹陕西抢红包辅助器... 盘点辅助!奇迹陕西抢红包辅助器,随意玩辅助器,透视辅助开挂(今日头条);无需打开直接搜索打开薇:13...