mirror of
https://github.com/yusing/godoxy.git
synced 2026-02-19 15:27:46 +01:00
This is a large-scale refactoring across the codebase that replaces the custom `gperr.Error` type with Go's standard `error` interface. The changes include: - Replacing `gperr.Error` return types with `error` in function signatures - Using `errors.New()` and `fmt.Errorf()` instead of `gperr.New()` and `gperr.Errorf()` - Using `%w` format verb for error wrapping instead of `.With()` method - Replacing `gperr.Subject()` calls with `gperr.PrependSubject()` - Converting error logging from `gperr.Log*()` functions to zerolog's `.Err().Msg()` pattern - Update NewLogger to handle multiline error message - Updating `goutils` submodule to latest commit This refactoring aligns with Go idioms and removes the dependency on custom error handling abstractions in favor of standard library patterns.
24 lines
419 B
Go
24 lines
419 B
Go
package rules
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
func TestErrorFormat(t *testing.T) {
|
|
var rules Rules
|
|
err := parseRules(`
|
|
- on: error 405
|
|
do: error 405 error
|
|
- on: header too many args
|
|
do: error 405 error
|
|
- name: missing do
|
|
on: status 200
|
|
- on: header X-Header
|
|
do: set invalid_command
|
|
- do: set resp_body "{{ .Request.Method {{ .Request.URL.Path }}"
|
|
`, &rules)
|
|
log.Err(err).Msg("error")
|
|
}
|