发生错误时如何更改GraphQL订阅端点?

时间:2019-10-03 09:13:16

标签: reactjs graphql graphql-subscriptions

我有一个需要访问令牌的GraphQL订阅,因为我们有一个对请求进行身份验证的代理。

因此,我们在订阅本身的URL中发送Bearer令牌。

但是这里的问题是它每隔一小时就会过期。因此,如果一小时后刷新页面,则会使用旧的访问令牌调用订阅URL。

我只想更新URL并在出现错误(403)时再次调用订阅

#include <iostream>
#include <unordered_set>
#include <vector>

int main()
{
  std::unordered_set<std::string> set1{ "user1", "user2", "user3", "user4" };
  std::unordered_set<std::string> set2{ "user3", "user4", "user2", "user8" };
  std::vector<std::string> diff;

  for (const auto& s : set1)
  {
    auto it = set2.find(s);
    if (it == set2.cend())
    {
      diff.emplace_back(s);
    }
  }

  for (const auto& s : set2)
  {
    auto it = set1.find(s);
    if (it == set1.cend())
    {
      diff.emplace_back(s);
    }
  }

  for (const auto& s : diff)
    std::cout << s.c_str() << std::endl;
}

所以上面是URL。

现在当accessToken过期时,我收到403错误 当我得到它时,我会生成一个新令牌。

现在,在设置新令牌后,我需要停止旧的订阅并使用新的访问令牌开始一个新的订阅。 我怎样才能做到这一点 ????

这是一个ReactJS网站。

0 个答案:

没有答案