Debugging actions¶
While you’re developing actions for your application, to debug faster you may want to see the exact details of the webhook call for the action as well.
To do so, start the server in debugging mode.
In the case of errors, the GraphQL response will contain debugging information
of the webhook calls in the extensions.internal
field.
For example:
mutation {
create_user(email: "foo@bar.com", name: "Foo"){
id
user {
name
email
}
}
}
mutation {
create_user(email: "foo@bar.com", name: "Foo"){
id
user {
name
email
}
}
}
{
"errors": [
{
"message": "expecting null, object or array of objects for action webhook response",
"extensions": {
"code": "parse-failed",
"path": "$",
"internal": {
"error": "expecting null, object or array of objects for action webhook response",
"response": {
"status": 200,
"headers": [
{
"value": "application/json",
"name": "Content-Type"
}
],
"body": "[incorrect response]"
},
"request": {
"url": "http://127.0.0.1:5593/invalid-response",
"headers": [],
"body": {
"action": {
"name": "create_user"
},
"session_variables": {
"x-hasura-role": "admin"
},
"input": {
"email": "foo@boo.com",
"name": "Foo"
},
"request_query": "mutation {\n create_user(email: \"foo@bar.com\", name: \"Foo\"){\n id\n user {\n name\n email\n }\n }\n }\n"
}
}
}
}
}
]
}
Additional Resources
Introduction to Hasura Actions - View Recording.