From edc96071045b813fb5e884f259d68722078981ad Mon Sep 17 00:00:00 2001 From: = Date: Thu, 30 May 2024 11:34:55 -0500 Subject: [PATCH 1/3] Adjust context interface again --- context.go | 80 +++++++++++++++++++++---------------------------- context_test.go | 32 ++++++++++---------- golamb.go | 2 +- 3 files changed, 51 insertions(+), 63 deletions(-) diff --git a/context.go b/context.go index a0cbaba..e47a47c 100644 --- a/context.go +++ b/context.go @@ -1,9 +1,5 @@ package golamb -import ( - "fmt" -) - // Context is the central piece of golamb. It allows one to access // a requests query parameters, path parameters, body, headers, and // cookies. Messages can be logged to the provided logger according @@ -17,37 +13,29 @@ type Context interface { // argument. Response(status int, body ...interface{}) Responder - // LogDebug logs the given message. Arguments are handled in the - // manner of fmt.Printf. - LogDebug(message string, args ...interface{}) + // LogDebug logs the given message. + LogDebug(message any) - // LogInfo logs the given message. Arguments are handled in the - // manner of fmt.Printf. - LogInfo(message string, args ...interface{}) + // LogInfo logs the given message. + LogInfo(message any) - // LogNotice logs the given message. Arguments are handled in the - // manner of fmt.Printf. - LogNotice(message string, args ...interface{}) + // LogNotice logs the given message. + LogNotice(message any) - // LogWarning logs the given message. Arguments are handled in - // the manner of fmt.Printf. - LogWarning(message string, args ...interface{}) + // LogWarning logs the given message. + LogWarning(message any) - // LogError logs the given message. Arguments are handled in the - // manner of fmt.Printf. - LogError(message string, args ...interface{}) + // LogError logs the given message. + LogError(message any) - // LogCritical logs the given message. Arguments are handled in - // the manner of fmt.Printf. - LogCritical(message string, args ...interface{}) + // LogCritical logs the given message. + LogCritical(message any) - // LogAlert logs the given message. Arguments are handled in the - // manner of fmt.Printf. - LogAlert(message string, args ...interface{}) + // LogAlert logs the given message. + LogAlert(message any) - // LogEmergency logs the given message. Arguments are handled in - // the manner of fmt.Printf. - LogEmergency(message string, args ...interface{}) + // LogEmergency logs the given message. + LogEmergency(message any) } type handlerContext struct { @@ -73,62 +61,62 @@ func (c *handlerContext) Response(status int, body ...interface{}) Responder { return &r } -func (c *handlerContext) LogDebug(message string, args ...interface{}) { +func (c *handlerContext) LogDebug(message any) { if c.logLevel > LogLevelDebug { return } - c.log(LogLevelDebug, message, args...) + c.log(LogLevelDebug, message) } -func (c *handlerContext) LogInfo(message string, args ...interface{}) { +func (c *handlerContext) LogInfo(message any) { if c.logLevel > LogLevelInfo { return } - c.log(LogLevelInfo, message, args...) + c.log(LogLevelInfo, message) } -func (c *handlerContext) LogNotice(message string, args ...interface{}) { +func (c *handlerContext) LogNotice(message any) { if c.logLevel > LogLevelNotice { return } - c.log(LogLevelNotice, message, args...) + c.log(LogLevelNotice, message) } -func (c *handlerContext) LogWarning(message string, args ...interface{}) { +func (c *handlerContext) LogWarning(message any) { if c.logLevel > LogLevelWarning { return } - c.log(LogLevelWarning, message, args...) + c.log(LogLevelWarning, message) } -func (c *handlerContext) LogError(message string, args ...interface{}) { +func (c *handlerContext) LogError(message any) { if c.logLevel > LogLevelError { return } - c.log(LogLevelError, message, args...) + c.log(LogLevelError, message) } -func (c *handlerContext) LogCritical(message string, args ...interface{}) { +func (c *handlerContext) LogCritical(message any) { if c.logLevel > LogLevelCritical { return } - c.log(LogLevelCritical, message, args...) + c.log(LogLevelCritical, message) } -func (c *handlerContext) LogAlert(message string, args ...interface{}) { +func (c *handlerContext) LogAlert(message any) { if c.logLevel > LogLevelAlert { return } - c.log(LogLevelAlert, message, args...) + c.log(LogLevelAlert, message) } -func (c *handlerContext) LogEmergency(message string, args ...interface{}) { +func (c *handlerContext) LogEmergency(message any) { if c.logLevel > LogLevelEmergency { return } - c.log(LogLevelEmergency, message, args...) + c.log(LogLevelEmergency, message) } -func (c *handlerContext) log(level LogLevel, message string, args ...interface{}) { - c.logger.Log(level, fmt.Sprintf(message, args...)) +func (c *handlerContext) log(level LogLevel, message any) { + c.logger.Log(level, message) } diff --git a/context_test.go b/context_test.go index 52d676e..9291263 100644 --- a/context_test.go +++ b/context_test.go @@ -22,7 +22,7 @@ func TestContextLogDebug(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelDebug, } - ctx.LogDebug("foo %s", "bar") + ctx.LogDebug("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -49,7 +49,7 @@ func TestContextLogInfo(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelInfo, } - ctx.LogInfo("foo %s", "bar") + ctx.LogInfo("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -76,7 +76,7 @@ func TestContextLogNotice(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelNotice, } - ctx.LogNotice("foo %s", "bar") + ctx.LogNotice("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -103,7 +103,7 @@ func TestContextLogWarning(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelWarning, } - ctx.LogWarning("foo %s", "bar") + ctx.LogWarning("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -130,7 +130,7 @@ func TestContextLogError(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelError, } - ctx.LogError("foo %s", "bar") + ctx.LogError("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -157,7 +157,7 @@ func TestContextLogAlert(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelAlert, } - ctx.LogAlert("foo %s", "bar") + ctx.LogAlert("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -184,7 +184,7 @@ func TestContextLogCritical(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelCritical, } - ctx.LogCritical("foo %s", "bar") + ctx.LogCritical("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -211,7 +211,7 @@ func TestContextLogEmergency(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelEmergency, } - ctx.LogEmergency("foo %s", "bar") + ctx.LogEmergency("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -238,7 +238,7 @@ func TestContextLogSilent(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogEmergency("foo %s", "bar") + ctx.LogEmergency("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -265,7 +265,7 @@ func TestContextLogCriticalNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogCritical("foo %s", "bar") + ctx.LogCritical("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -292,7 +292,7 @@ func TestContextLogAlertNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogAlert("foo %s", "bar") + ctx.LogAlert("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -319,7 +319,7 @@ func TestContextLogErrorNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogError("foo %s", "bar") + ctx.LogError("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -346,7 +346,7 @@ func TestContextLogNoticeNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogNotice("foo %s", "bar") + ctx.LogNotice("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -373,7 +373,7 @@ func TestContextLogInfoNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogInfo("foo %s", "bar") + ctx.LogInfo("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -400,7 +400,7 @@ func TestContextLogDebugNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogDebug("foo %s", "bar") + ctx.LogDebug("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -427,7 +427,7 @@ func TestContextLogWarningNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogWarning("foo %s", "bar") + ctx.LogWarning("foo bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) diff --git a/golamb.go b/golamb.go index e3a4fec..b1cb676 100644 --- a/golamb.go +++ b/golamb.go @@ -62,6 +62,6 @@ func getConfig(configs ...*Config) *Config { } func defaultPanicHandler(c Context, err error) Responder { - c.LogError("handler panic recovered: %s", err) + c.LogError(fmt.Sprintf("handler panic recovered: %s", err)) return c.Response(http.StatusInternalServerError) } From 58d2939ff87aa0602410b23ce970b40722250713 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 30 May 2024 11:36:15 -0500 Subject: [PATCH 2/3] Fix fakes --- fakes/context.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/fakes/context.go b/fakes/context.go index feccf2d..b5191a2 100644 --- a/fakes/context.go +++ b/fakes/context.go @@ -75,41 +75,41 @@ func (c *Context) WithRequest(r *Request) *Context { } // LogDebug implements the golamb.Context interface. -func (c *Context) LogDebug(message string, args ...interface{}) { +func (c *Context) LogDebug(message any) { } // LogInfo implements the golamb.Context interface. -func (c *Context) LogInfo(message string, args ...interface{}) { +func (c *Context) LogInfo(message any) { } // LogNotice implements the golamb.Context interface. -func (c *Context) LogNotice(message string, args ...interface{}) { +func (c *Context) LogNotice(message any) { } // LogWarning implements the golamb.Context interface. -func (c *Context) LogWarning(message string, args ...interface{}) { +func (c *Context) LogWarning(message any) { } // LogError implements the golamb.Context interface. -func (c *Context) LogError(message string, args ...interface{}) { +func (c *Context) LogError(message any) { } // LogCritical implements the golamb.Context interface. -func (c *Context) LogCritical(message string, args ...interface{}) { +func (c *Context) LogCritical(message any) { } // LogAlert implements the golamb.Context interface. -func (c *Context) LogAlert(message string, args ...interface{}) { +func (c *Context) LogAlert(message any) { } // LogEmergency implements the golamb.Context interface. -func (c *Context) LogEmergency(message string, args ...interface{}) { +func (c *Context) LogEmergency(message any) { } From 1503a9e8e631a4fdbbf090b206e0587861f758a0 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 30 May 2024 11:48:05 -0500 Subject: [PATCH 3/3] Convert interface{} to any --- context.go | 84 +++++++++++++++++++++++++++--------------------- context_test.go | 32 +++++++++--------- fakes/context.go | 18 +++++------ fakes/request.go | 4 +-- go.mod | 2 +- request.go | 4 +-- response.go | 2 +- 7 files changed, 79 insertions(+), 67 deletions(-) diff --git a/context.go b/context.go index e47a47c..33c6f12 100644 --- a/context.go +++ b/context.go @@ -1,5 +1,9 @@ package golamb +import ( + "fmt" +) + // Context is the central piece of golamb. It allows one to access // a requests query parameters, path parameters, body, headers, and // cookies. Messages can be logged to the provided logger according @@ -11,31 +15,39 @@ type Context interface { // Response returns an http response with the given status code. // An options response body can be provided as the second // argument. - Response(status int, body ...interface{}) Responder + Response(status int, body ...any) Responder - // LogDebug logs the given message. - LogDebug(message any) + // LogDebug logs the given message. Arguments are handled in the + // manner of fmt.Printf. + LogDebug(message string, args ...any) - // LogInfo logs the given message. - LogInfo(message any) + // LogInfo logs the given message. Arguments are handled in the + // manner of fmt.Printf. + LogInfo(message string, args ...any) - // LogNotice logs the given message. - LogNotice(message any) + // LogNotice logs the given message. Arguments are handled in the + // manner of fmt.Printf. + LogNotice(message string, args ...any) - // LogWarning logs the given message. - LogWarning(message any) + // LogWarning logs the given message. Arguments are handled in + // the manner of fmt.Printf. + LogWarning(message string, args ...any) - // LogError logs the given message. - LogError(message any) + // LogError logs the given message. Arguments are handled in the + // manner of fmt.Printf. + LogError(message string, args ...any) - // LogCritical logs the given message. - LogCritical(message any) + // LogCritical logs the given message. Arguments are handled in + // the manner of fmt.Printf. + LogCritical(message string, args ...any) - // LogAlert logs the given message. - LogAlert(message any) + // LogAlert logs the given message. Arguments are handled in the + // manner of fmt.Printf. + LogAlert(message string, args ...any) - // LogEmergency logs the given message. - LogEmergency(message any) + // LogEmergency logs the given message. Arguments are handled in + // the manner of fmt.Printf. + LogEmergency(message string, args ...any) } type handlerContext struct { @@ -48,7 +60,7 @@ func (c *handlerContext) Request() Request { return c.req } -func (c *handlerContext) Response(status int, body ...interface{}) Responder { +func (c *handlerContext) Response(status int, body ...any) Responder { r := response{ status: status, headers: map[string]string{ @@ -61,62 +73,62 @@ func (c *handlerContext) Response(status int, body ...interface{}) Responder { return &r } -func (c *handlerContext) LogDebug(message any) { +func (c *handlerContext) LogDebug(message string, args ...any) { if c.logLevel > LogLevelDebug { return } - c.log(LogLevelDebug, message) + c.log(LogLevelDebug, message, args...) } -func (c *handlerContext) LogInfo(message any) { +func (c *handlerContext) LogInfo(message string, args ...any) { if c.logLevel > LogLevelInfo { return } - c.log(LogLevelInfo, message) + c.log(LogLevelInfo, message, args...) } -func (c *handlerContext) LogNotice(message any) { +func (c *handlerContext) LogNotice(message string, args ...any) { if c.logLevel > LogLevelNotice { return } - c.log(LogLevelNotice, message) + c.log(LogLevelNotice, message, args...) } -func (c *handlerContext) LogWarning(message any) { +func (c *handlerContext) LogWarning(message string, args ...any) { if c.logLevel > LogLevelWarning { return } - c.log(LogLevelWarning, message) + c.log(LogLevelWarning, message, args...) } -func (c *handlerContext) LogError(message any) { +func (c *handlerContext) LogError(message string, args ...any) { if c.logLevel > LogLevelError { return } - c.log(LogLevelError, message) + c.log(LogLevelError, message, args...) } -func (c *handlerContext) LogCritical(message any) { +func (c *handlerContext) LogCritical(message string, args ...any) { if c.logLevel > LogLevelCritical { return } - c.log(LogLevelCritical, message) + c.log(LogLevelCritical, message, args...) } -func (c *handlerContext) LogAlert(message any) { +func (c *handlerContext) LogAlert(message string, args ...any) { if c.logLevel > LogLevelAlert { return } - c.log(LogLevelAlert, message) + c.log(LogLevelAlert, message, args...) } -func (c *handlerContext) LogEmergency(message any) { +func (c *handlerContext) LogEmergency(message string, args ...any) { if c.logLevel > LogLevelEmergency { return } - c.log(LogLevelEmergency, message) + c.log(LogLevelEmergency, message, args...) } -func (c *handlerContext) log(level LogLevel, message any) { - c.logger.Log(level, message) +func (c *handlerContext) log(level LogLevel, message string, args ...any) { + c.logger.Log(level, fmt.Sprintf(message, args...)) } diff --git a/context_test.go b/context_test.go index 9291263..52d676e 100644 --- a/context_test.go +++ b/context_test.go @@ -22,7 +22,7 @@ func TestContextLogDebug(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelDebug, } - ctx.LogDebug("foo bar") + ctx.LogDebug("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -49,7 +49,7 @@ func TestContextLogInfo(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelInfo, } - ctx.LogInfo("foo bar") + ctx.LogInfo("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -76,7 +76,7 @@ func TestContextLogNotice(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelNotice, } - ctx.LogNotice("foo bar") + ctx.LogNotice("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -103,7 +103,7 @@ func TestContextLogWarning(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelWarning, } - ctx.LogWarning("foo bar") + ctx.LogWarning("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -130,7 +130,7 @@ func TestContextLogError(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelError, } - ctx.LogError("foo bar") + ctx.LogError("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -157,7 +157,7 @@ func TestContextLogAlert(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelAlert, } - ctx.LogAlert("foo bar") + ctx.LogAlert("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -184,7 +184,7 @@ func TestContextLogCritical(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelCritical, } - ctx.LogCritical("foo bar") + ctx.LogCritical("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -211,7 +211,7 @@ func TestContextLogEmergency(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelEmergency, } - ctx.LogEmergency("foo bar") + ctx.LogEmergency("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -238,7 +238,7 @@ func TestContextLogSilent(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogEmergency("foo bar") + ctx.LogEmergency("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -265,7 +265,7 @@ func TestContextLogCriticalNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogCritical("foo bar") + ctx.LogCritical("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -292,7 +292,7 @@ func TestContextLogAlertNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogAlert("foo bar") + ctx.LogAlert("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -319,7 +319,7 @@ func TestContextLogErrorNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogError("foo bar") + ctx.LogError("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -346,7 +346,7 @@ func TestContextLogNoticeNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogNotice("foo bar") + ctx.LogNotice("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -373,7 +373,7 @@ func TestContextLogInfoNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogInfo("foo bar") + ctx.LogInfo("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -400,7 +400,7 @@ func TestContextLogDebugNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogDebug("foo bar") + ctx.LogDebug("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) @@ -427,7 +427,7 @@ func TestContextLogWarningNone(t *testing.T) { logger: NewDefaultLogger(), logLevel: LogLevelSilent, } - ctx.LogWarning("foo bar") + ctx.LogWarning("foo %s", "bar") b, err := os.ReadFile(fname) if err != nil { t.Fatalf("unexpected err: %s", err) diff --git a/fakes/context.go b/fakes/context.go index b5191a2..73497f1 100644 --- a/fakes/context.go +++ b/fakes/context.go @@ -56,7 +56,7 @@ func (c *Context) Request() golamb.Request { } // Response implements the golamb.Context interface. -func (c *Context) Response(status int, body ...interface{}) golamb.Responder { +func (c *Context) Response(status int, body ...any) golamb.Responder { c.response.response.StatusCode = status if len(body) > 0 { bs, err := json.Marshal(body[0]) @@ -75,41 +75,41 @@ func (c *Context) WithRequest(r *Request) *Context { } // LogDebug implements the golamb.Context interface. -func (c *Context) LogDebug(message any) { +func (c *Context) LogDebug(message string, args ...any) { } // LogInfo implements the golamb.Context interface. -func (c *Context) LogInfo(message any) { +func (c *Context) LogInfo(message string, args ...any) { } // LogNotice implements the golamb.Context interface. -func (c *Context) LogNotice(message any) { +func (c *Context) LogNotice(message string, args ...any) { } // LogWarning implements the golamb.Context interface. -func (c *Context) LogWarning(message any) { +func (c *Context) LogWarning(message string, args ...any) { } // LogError implements the golamb.Context interface. -func (c *Context) LogError(message any) { +func (c *Context) LogError(message string, args ...any) { } // LogCritical implements the golamb.Context interface. -func (c *Context) LogCritical(message any) { +func (c *Context) LogCritical(message string, args ...any) { } // LogAlert implements the golamb.Context interface. -func (c *Context) LogAlert(message any) { +func (c *Context) LogAlert(message string, args ...any) { } // LogEmergency implements the golamb.Context interface. -func (c *Context) LogEmergency(message any) { +func (c *Context) LogEmergency(message string, args ...any) { } diff --git a/fakes/request.go b/fakes/request.go index fd57b5d..8c4cef1 100644 --- a/fakes/request.go +++ b/fakes/request.go @@ -57,7 +57,7 @@ func (r *Request) RawPath() string { } // Body implements the golamb.Request interface. -func (r *Request) Body(v interface{}) error { +func (r *Request) Body(v any) error { return json.Unmarshal(r.body, v) } @@ -92,7 +92,7 @@ func (r *Request) WithRawPath(rawPath string) *Request { } // WithBody sets the body of the fake Request. -func (r *Request) WithBody(v interface{}) error { +func (r *Request) WithBody(v any) error { var err error r.body, err = json.Marshal(v) return err diff --git a/go.mod b/go.mod index 38d8665..47e5d05 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/twharmon/golamb -go 1.18 +go 1.22 require ( github.com/aws/aws-lambda-go v1.29.0 diff --git a/request.go b/request.go index 4823cdf..15be084 100644 --- a/request.go +++ b/request.go @@ -17,7 +17,7 @@ type Request interface { // Body parses the JSON-encoded data and stores the result in the // value pointed to by v. - Body(v interface{}) error + Body(v any) error // Cookie returns the cookie with the given name. Cookie(name string) *http.Cookie @@ -45,7 +45,7 @@ func (r *request) Path(key string) string { return r.request.PathParameters[key] } -func (r *request) Body(v interface{}) error { +func (r *request) Body(v any) error { return json.Unmarshal([]byte(r.request.Body), v) } diff --git a/response.go b/response.go index caa4186..b064832 100644 --- a/response.go +++ b/response.go @@ -21,7 +21,7 @@ type Responder interface { type response struct { status int - body interface{} + body any headers map[string]string cookies []string }