anchor.diff:                  | ex -> mapper (acc + " " + ex.Message) tail
           failwithf "Failure calling GraphQL server. %s" (mapper "" exns)
   
  -    let private postAsync (client : HttpClient) (serverUrl : string) (content : HttpContent) =
  -        async {
  -            let! response = client.PostAsync(serverUrl, content) |> Async.AwaitTask
  +    let private addHeaders (httpHeaders : seq<string * string>) (requestMessage : HttpRequestMessage) =
  +        if not (isNull httpHeaders)
  +        then httpHeaders |> Seq.iter (fun (name, value) -> requestMessage.Headers.Add(name, value))
  +
  +    let private postAsync (client : HttpClient) (serverUrl : string) (httpHeaders : seq<string * string>) (content : HttpContent) =
  +        async {
  +            use requestMessage = new HttpRequestMessage(HttpMethod.Post, serverUrl)
  +            requestMessage.Content <- content
  +            addHeaders httpHeaders requestMessage
  +            let! response = client.SendAsync(requestMessage) |> Async.AwaitTask
               let! content = response.Content.ReadAsStringAsync() |> Async.AwaitTask
               if response.IsSuccessStatusCode
               then return content
  -            else return failwithf "Unexpected response from GraphQL server at \"%s\" (status code: %i, message: \"%s\")." serverUrl (int response.StatusCode) content
  +            else return raise <| GraphQLRequestException(response.StatusCode, content)
           }
   
       let private getAsync (client : HttpClient) (serverUrl : string) =
  
positive.code:             let client = connection.Client
              let boundary = sprintf "----GraphQLProviderBoundary%s" (Guid.NewGuid().ToString("N"))
              use content = new MultipartContent("form-data", boundary)
              addHeaders request.HttpHeaders content
              let variables = 
                  request.Variables
                  |> Array.map (fun (name, value) ->
  
negative.code: namespace FSharp.Data.GraphQL
  
  open System
  open System.Collections.Generic
  open System.IO
  open System.Net.Http
  open FSharp.Data.GraphQL
  open FSharp.Data.GraphQL.Client
  open System.Text
  open System.Net
  
  type GraphQLRequestException(statusCode : HttpStatusCode, errorMessage : string) =
      inherit exn(sprintf "Unexpected response from the server: \"%s\"" errorMessage)
  
      member __.StatusCode = statusCode
  
      member __.ErrorMessage = errorMessage
  
  /// The base type for all GraphQLProvider upload types.
  /// Upload types are used in GraphQL multipart request spec, mostly for file uploading features.
  