graphql-dotnet / graphql-dotnet/graphql-client

Override the default ACCEPT header value

Open
#670 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
648
Forks
136
PR merge metrics
No merged PRs in 30d

Description

I'm trying to use the GraphQL.Client library in a project that interacts with a 3rd party API. Currently, the API only accepts `application/json` for the ACCEPT header. Is there an easy way to override the library's default value of `application/graphql-response+json, application/json` (https://github.com/graphql-dotnet/graphql-client/blob/master/src/GraphQL.Client/GraphQLHttpRequest.cs#L45)? I tried the following code, but it did not work.

```
using var graphQLClient = new GraphQLHttpClient("https://3rdpartyservice.com/graphql", new NewtonsoftJsonSerializer());
graphQLClient.HttpClient.DefaultRequestHeaders.Accept.Clear();
graphQLClient.HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
```

I understand the library was updated to follow the spec for GraphQL over HTTP (https://github.com/graphql-dotnet/graphql-client/pull/459), but that is still in the draft phase, and it appears the company that maintains the API hasn't implemented the spec's requirement. I've opened a ticket with the company to see if they can update their API to more closely conform to the draft spec, In the meantime, I wanted to see if there was an easy way to get my project working.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.