diff --git a/domain/apiresponses/failure_responses.go b/domain/apiresponses/failure_responses.go index 6be2669f..0dd48951 100644 --- a/domain/apiresponses/failure_responses.go +++ b/domain/apiresponses/failure_responses.go @@ -42,6 +42,8 @@ func (f *FailureResponse) ErrorResponse() interface{} { } } +// ValidatedStatusCode returns the HTTP response status code. If the code is not 4xx +// or 5xx, an InternalServerError will be returned instead. func (f *FailureResponse) ValidatedStatusCode(logger *slog.Logger) int { if f.statusCode < 400 || 600 <= f.statusCode { if logger != nil { diff --git a/handlers/api_handler.go b/handlers/api_handler.go index 4bfbdec7..ddf94246 100644 --- a/handlers/api_handler.go +++ b/handlers/api_handler.go @@ -7,9 +7,8 @@ import ( "log/slog" "net/http" - "github.com/pivotal-cf/brokerapi/v10/internal/blog" - "github.com/pivotal-cf/brokerapi/v10/domain" + "github.com/pivotal-cf/brokerapi/v10/internal/blog" ) const ( diff --git a/handlers/bind.go b/handlers/bind.go index 81a7c517..00f1b52e 100644 --- a/handlers/bind.go +++ b/handlers/bind.go @@ -6,11 +6,10 @@ import ( "log/slog" "net/http" - "github.com/pivotal-cf/brokerapi/v10/internal/blog" - "github.com/go-chi/chi/v5" "github.com/pivotal-cf/brokerapi/v10/domain" "github.com/pivotal-cf/brokerapi/v10/domain/apiresponses" + "github.com/pivotal-cf/brokerapi/v10/internal/blog" "github.com/pivotal-cf/brokerapi/v10/middlewares" ) diff --git a/handlers/deprovision.go b/handlers/deprovision.go index 8e3ca092..ed45995f 100644 --- a/handlers/deprovision.go +++ b/handlers/deprovision.go @@ -5,11 +5,10 @@ import ( "log/slog" "net/http" - "github.com/pivotal-cf/brokerapi/v10/internal/blog" - "github.com/go-chi/chi/v5" "github.com/pivotal-cf/brokerapi/v10/domain" "github.com/pivotal-cf/brokerapi/v10/domain/apiresponses" + "github.com/pivotal-cf/brokerapi/v10/internal/blog" "github.com/pivotal-cf/brokerapi/v10/middlewares" ) diff --git a/handlers/get_binding.go b/handlers/get_binding.go index 59ecc026..e3f986e0 100644 --- a/handlers/get_binding.go +++ b/handlers/get_binding.go @@ -6,11 +6,10 @@ import ( "log/slog" "net/http" - "github.com/pivotal-cf/brokerapi/v10/internal/blog" - "github.com/go-chi/chi/v5" "github.com/pivotal-cf/brokerapi/v10/domain" "github.com/pivotal-cf/brokerapi/v10/domain/apiresponses" + "github.com/pivotal-cf/brokerapi/v10/internal/blog" "github.com/pivotal-cf/brokerapi/v10/middlewares" ) diff --git a/internal/blog/blog.go b/internal/blog/blog.go index ae8421e2..714e843f 100644 --- a/internal/blog/blog.go +++ b/internal/blog/blog.go @@ -5,7 +5,7 @@ // idiosyncrasies of lager, minimizes boilerplate code, and keeps the behavior as similar as possible. // It also implements the slog.Handler interface so that it can easily be converted into a slog.Logger. // This is useful when calling public APIs (such as FailureResponse.ValidatedStatusCode) which take a -// slog.Logger as an input, and because they are public cannot take a Blog as in input. +// slog.Logger as an input, and because they are public cannot take a Blog as an input. package blog import ( @@ -81,16 +81,18 @@ func (b Blog) WithGroup(string) slog.Handler { return b } +// Handle is required implement the slog.Handler interface func (b Blog) Handle(_ context.Context, record slog.Record) error { + msg := join(b.prefix, record.Message) switch record.Level { case slog.LevelDebug: - b.logger.Debug(join(b.prefix, record.Message)) + b.logger.Debug(msg) case slog.LevelInfo: - b.logger.Info(join(b.prefix, record.Message)) + b.logger.Info(msg) case slog.LevelWarn: - b.logger.Warn(join(b.prefix, record.Message)) + b.logger.Warn(msg) default: - b.logger.Error(join(b.prefix, record.Message)) + b.logger.Error(msg) } return nil