server request hook error response data is more flexible