UNPKG

nuxt-graphql-client

Version:

[![nuxt-graphql-client](./docs/public/cover.png)](https://nuxt-graphql-client.web.app)

22 lines (21 loc) 879 B
import { GraphQLClient } from "graphql-request"; import { defineNitroPlugin } from "#internal/nitro"; import GqlNitro from "#gql-nitro"; export default defineNitroPlugin(() => { const GqlConfig = GqlNitro.config; for (const [client, conf] of Object.entries(GqlConfig)) { const serverHeaders = typeof conf?.headers?.serverOnly === "object" && conf?.headers?.serverOnly || void 0; if (conf?.headers?.serverOnly) { delete conf.headers.serverOnly; } const tokenName = conf.token.name; const tokenType = conf.token.type; const authToken = !tokenType ? conf?.token?.value : `${tokenType} ${conf?.token?.value}`; const headers = { ...conf?.headers, ...serverHeaders, ...conf?.token?.value && { [tokenName]: authToken } }; GqlNitro.clients[client] = new GraphQLClient(conf.host, { headers, ...conf.fetchOptions }); } });