kit/errors
Jake Engelberg 30e2c24840
Add error code and category funcs (#109)
2024-11-27 08:52:51 -08:00
..
README.md fixing a dead hyperlink (#94) 2024-04-16 13:28:40 -07:00
codes.go Add placement error code (#91) 2024-04-02 13:38:09 +03:00
errors.go Add error code and category funcs (#109) 2024-11-27 08:52:51 -08:00
errors_test.go Add error code and category funcs (#109) 2024-11-27 08:52:51 -08:00

README.md

Errors

The standardizing of errors to be used in Dapr based on the gRPC Richer Error Model and accepted dapr/proposal.

Usage

Define the error

import kitErrors "github.com/dapr/kit/errors"

// Define error in dapr pkg/api/errors/<building_block>.go
func PubSubNotFound(name string, pubsubType string, metadata map[string]string) error {
	message := fmt.Sprintf("pubsub %s is not found", name)

	return kitErrors.NewBuilder(
		grpcCodes.NotFound,
		http.StatusBadRequest,
		message,
		kitErrors.CodePrefixPubSub+kitErrors.CodeNotFound,
	).
		WithErrorInfo(kitErrors.CodePrefixPubSub+kitErrors.CodeNotFound, metadata).
		WithResourceInfo(pubsubType, name, "", message).
		Build()
}

Use the error

import apiErrors "github.com/dapr/dapr/pkg/api/errors"

// Use error in dapr and pass in relevant information
err = apiErrors.PubSubNotFound(pubsubName, pubsubType, metadata)