shim.Error возвращает структуру ответа.
func Error(msg string) pb.Response {
return pb.Response{
Status: ERROR,
Message: msg,
}
}
Статус имеет значение ERROR const, которое определено как 500. Но вы можете использовать любой код ошибки, который вы хотите,>> = 400.
Таким образом, вместо использования функции «Ошибка», вы сами создаете ответ и устанавливаете код состояния.
return pb.Response{
Status: 404,
Message: "Invoke method you wanted to trigger does not exist",
}
Или вы можете создать свою собственную функцию Error, которая также принимает код состояния и проверяет, находится ли он в диапазоне ошибок.
Последний вариант - использовать свойство Payload объектаответ и добавьте сведения об ошибке, включая код состояния в полезную нагрузку.