Mutation with missing variable returns 400 with no body instead of GraphQL error

I was trying to write a mutation and was getting back an http 400 on the post to 8base with no body (so no error to tell me what was wrong). The error ended up being that I forgot to pass required variables to the mutation. Usually, malformed GraphQL mutations return a 200 with an error key in the body that says what’s missing/malformed. Maybe there is some error handling missing here?

To reproduce, make a mutation like this without passing any variables.

mutation MyMutation($data: UserCreateInput!) {
  __typename
  userCreate(data: $data) {
    id
  }
}

It returns the correct error message in the explorer inside the 8base console, but not when making the request outside of it.

hey @emroussel! Are you using an error-link with apolloProvider? If so, is the error coming out there, and you’re saying that you would expect it to be returned to the original promise where you executed the query?

@sebastian.scholl I was actually talking about the http request when I look at the network tab in the dev tools, not in my application code. It returns as a 400 with no body in the response, but I was expecting to have an error in the body telling me what is malformed in the graphql request.

I was using chrome to make the request, but after trying with curl and firefox, I see the error coming back in the body in those, so this is probably an issue with chrome specifically and not with 8base :thinking: