Compare commits

...

2 Commits
v0.0.1 ... main

Author SHA1 Message Date
i.smyshlyaev 96cbd3add7 is net err 2025-10-16 14:19:39 +03:00
i.smyshlyaev 7a4f0c1ab9 add network err 2025-10-16 13:23:45 +03:00
1 changed files with 17 additions and 0 deletions

View File

@ -15,6 +15,7 @@ const (
ErrorTypeInternal ErrorType = "INTERNAL"
ErrorTypeUnauthorized ErrorType = "UNAUTHORIZED"
ErrorTypeForbidden ErrorType = "FORBIDDEN"
ErrorTypeNetwork ErrorType = "NETWORK"
)
// AppError - кастомная ошибка приложения
@ -67,6 +68,14 @@ func NewNotFoundError(message string) *AppError {
}
}
func NewNetworkError(message string) *AppError {
return &AppError{
Type: ErrorTypeNetwork,
Message: message,
Code: 0, // Network errors don't have HTTP codes
}
}
func NewInternalError(message string) *AppError {
return &AppError{
Type: ErrorTypeInternal,
@ -108,6 +117,14 @@ func IsConflict(err error) bool {
return false
}
func IsNetworkError(err error) bool {
var appErr *AppError
if errors.As(err, &appErr) {
return appErr.Type == ErrorTypeNetwork
}
return false
}
// Wrap оборачивает ошибку с сообщением
func Wrap(err error, message string) error {
return fmt.Errorf("%s: %w", message, err)