Add DB scan error

This commit is contained in:
2025-01-16 10:02:54 +02:00
parent 766ee26f68
commit 998b0e74ec
2 changed files with 14 additions and 7 deletions

View File

@@ -29,7 +29,7 @@ func NewErrGeminiStatusCode(code int, header string) error {
case code >= 60 && code < 70:
msg = "TLS error"
default:
msg = "unexpected status code"
msg = "unexpected Status code"
}
return &GeminiError{
Msg: msg,
@@ -51,6 +51,8 @@ var (
ErrUTF8Parse = errors.New("UTF-8 parse error")
ErrTextParse = errors.New("text parse error")
ErrBlacklistMatches = errors.New("url matches blacklist")
ErrNetwork = errors.New("network error")
ErrNetworkDNS = errors.New("network DNS error")
ErrNetworkTLS = errors.New("network TLS error")
@@ -59,6 +61,7 @@ var (
ErrNetworkResponseSizeExceededMax = errors.New("network error - response size exceeded maximum size")
ErrDatabase = errors.New("database error")
ErrDatabaseScan = errors.New("database scan error")
)
// We could have used a map for speed, but
@@ -75,6 +78,8 @@ var knownErrors = []error{ //nolint:gochecknoglobals
ErrGeminiResponseHeader,
ErrGeminiRedirect,
ErrBlacklistMatches,
ErrURLParse,
ErrURLDecode,
ErrUTF8Parse,
@@ -88,6 +93,7 @@ var knownErrors = []error{ //nolint:gochecknoglobals
ErrNetworkResponseSizeExceededMax,
ErrDatabase,
ErrDatabaseScan,
}
func IsKnownError(err error) bool {

View File

@@ -1,24 +1,25 @@
package common
package common_test
import (
"errors"
"fmt"
"gemini-grc/common"
"testing"
)
func TestErrGemini(t *testing.T) {
t.Parallel()
err := NewErrGeminiStatusCode(50, "50 server error")
if !errors.As(err, new(*GeminiError)) {
err := common.NewErrGeminiStatusCode(50, "50 server error")
if !errors.As(err, new(*common.GeminiError)) {
t.Errorf("TestErrGemini fail")
}
}
func TestErrGeminiWrapped(t *testing.T) {
t.Parallel()
err := NewErrGeminiStatusCode(50, "50 server error")
err := common.NewErrGeminiStatusCode(50, "50 server error")
errWrapped := fmt.Errorf("%w wrapped", err)
if !errors.As(errWrapped, new(*GeminiError)) {
if !errors.As(errWrapped, new(*common.GeminiError)) {
t.Errorf("TestErrGeminiWrapped fail")
}
}