diff --git a/pkg/gotenberg/cmd.go b/pkg/gotenberg/cmd.go index 622c0d1a..54799f47 100644 --- a/pkg/gotenberg/cmd.go +++ b/pkg/gotenberg/cmd.go @@ -13,16 +13,16 @@ import ( "go.uber.org/zap" ) -// Cmd wraps an exec.Cmd. +// Cmd wraps an [exec.Cmd]. type Cmd struct { ctx context.Context logger *zap.Logger process *exec.Cmd } -// Command creates a Cmd without a context. It configures the internal -// exec.Cmd of Cmd so that we may kill its unix process and all its children -// without creating orphans. +// Command creates a [Cmd] without a context. It configures the internal +// [exec.Cmd] of [Cmd] so that we may kill its unix process and all its +// children without creating orphans. // // See https://medium.com/@felixge/killing-a-child-process-and-all-of-its-children-in-go-54079af94773. func Command(logger *zap.Logger, binPath string, args ...string) Cmd { @@ -36,9 +36,9 @@ func Command(logger *zap.Logger, binPath string, args ...string) Cmd { } } -// CommandContext creates a Cmd with a context. It configures the internal -// exec.Cmd of Cmd so that we may kill its unix process and all its children -// without creating orphans. +// CommandContext creates a [Cmd] with a context. It configures the internal +// [exec.Cmd] of [Cmd] so that we may kill its unix process and all its +// children without creating orphans. // // See https://medium.com/@felixge/killing-a-child-process-and-all-of-its-children-in-go-54079af94773. func CommandContext(ctx context.Context, logger *zap.Logger, binPath string, args ...string) (Cmd, error) { diff --git a/pkg/gotenberg/context.go b/pkg/gotenberg/context.go index ce0d7899..48ab7f5d 100644 --- a/pkg/gotenberg/context.go +++ b/pkg/gotenberg/context.go @@ -5,7 +5,7 @@ import ( "reflect" ) -// Context is a struct which helps initializing modules. When provisioning, a +// Context is a struct which helps to initialize modules. When provisioning, a // module may use the context to get other modules that it needs internally. type Context struct { flags ParsedFlags @@ -13,8 +13,8 @@ type Context struct { moduleInstances map[string]interface{} } -// NewContext creates a Context. -// In a module, prefer the Provisioner interface to get a Context. +// NewContext creates a [Context]. +// In a module, prefer the [Provisioner] interface to get a [Context]. func NewContext( flags ParsedFlags, descriptors []ModuleDescriptor, @@ -32,7 +32,7 @@ func NewContext( // flags := ctx.ParsedFlags() // m.foo = flags.RequiredString("foo") // } -func (ctx Context) ParsedFlags() ParsedFlags { +func (ctx *Context) ParsedFlags() ParsedFlags { return ctx.flags } @@ -100,7 +100,7 @@ func (ctx *Context) Modules(kind interface{}) ([]interface{}, error) { } // loadModule calls the Provision and/or Validate methods of the requested -// module if it satisfies the Provisioner and/or Validator interfaces. +// module if it satisfies the [Provisioner] and/or [Validator] interfaces. func (ctx *Context) loadModule(id string, instance interface{}) error { if prov, ok := instance.(Provisioner); ok { // The instance can be provisioned. diff --git a/pkg/gotenberg/flags.go b/pkg/gotenberg/flags.go index 334e255a..80d17049 100644 --- a/pkg/gotenberg/flags.go +++ b/pkg/gotenberg/flags.go @@ -8,7 +8,7 @@ import ( flag "github.com/spf13/pflag" ) -// ParsedFlags wraps a flag.FlagSet so that retrieving the typed values is +// ParsedFlags wraps a [flag.FlagSet] so that retrieving the typed values is // easier. type ParsedFlags struct { *flag.FlagSet diff --git a/pkg/gotenberg/fs.go b/pkg/gotenberg/fs.go index 901e50f8..e73e94f6 100644 --- a/pkg/gotenberg/fs.go +++ b/pkg/gotenberg/fs.go @@ -14,7 +14,7 @@ type FileSystem struct { workingDir string } -// NewFileSystem initializes a new FileSystem instance with a unique working +// NewFileSystem initializes a new [FileSystem] instance with a unique working // directory. func NewFileSystem() *FileSystem { return &FileSystem{ diff --git a/pkg/gotenberg/logging.go b/pkg/gotenberg/logging.go index 7e8e63ab..a17c5bf2 100644 --- a/pkg/gotenberg/logging.go +++ b/pkg/gotenberg/logging.go @@ -3,7 +3,7 @@ package gotenberg import "go.uber.org/zap" // LoggerProvider is an interface for a module that supplies a method for -// creating a zap.Logger instance for use by other modules. +// creating a [zap.Logger] instance for use by other modules. // // func (m *YourModule) Provision(ctx *gotenberg.Context) error { // provider, _ := ctx.Module(new(gotenberg.LoggerProvider)) diff --git a/pkg/gotenberg/metrics.go b/pkg/gotenberg/metrics.go index f6603639..74f3619a 100644 --- a/pkg/gotenberg/metrics.go +++ b/pkg/gotenberg/metrics.go @@ -15,7 +15,7 @@ type Metric struct { Read func() float64 } -// MetricsProvider is a module interface which provides a list of Metric. +// MetricsProvider is a module interface which provides a list of [Metric]. // // func (m *YourModule) Provision(ctx *gotenberg.Context) error { // provider, _ := ctx.Module(new(gotenberg.MetricsProvider)) diff --git a/pkg/modules/api/api.go b/pkg/modules/api/api.go index 8608aaf4..65f07cc6 100644 --- a/pkg/modules/api/api.go +++ b/pkg/modules/api/api.go @@ -44,12 +44,12 @@ type API struct { srv *echo.Echo } -// Router is a module interface which adds routes to the API. +// Router is a module interface which adds routes to the [API]. type Router interface { Routes() ([]Route, error) } -// Route represents a route from a Router. +// Route represents a route from a [Router]. type Route struct { // Method is the HTTP method of the route (i.e., GET, POST, etc.). // Required. @@ -72,13 +72,13 @@ type Route struct { Handler echo.HandlerFunc } -// MiddlewareProvider is a module interface which adds middlewares to the API. +// MiddlewareProvider is a module interface which adds middlewares to the [API]. type MiddlewareProvider interface { Middlewares() ([]Middleware, error) } // MiddlewareStack is a type which helps to determine in which stack the -// middlewares provided by the MiddlewareProvider modules should be located. +// middlewares provided by the [MiddlewareProvider] modules should be located. type MiddlewareStack uint32 const ( @@ -88,7 +88,7 @@ const ( ) // MiddlewarePriority is a type which helps to determine the execution order of -// middlewares provided by the MiddlewareProvider modules in a stack. +// middlewares provided by the [MiddlewareProvider] modules in a stack. type MiddlewarePriority uint32 const ( @@ -99,7 +99,7 @@ const ( VeryHighPriority ) -// Middleware is a middleware which can be added to the API's middlewares +// Middleware is a middleware which can be added to the [API]'s middlewares // chain. // // middleware := Middleware{ @@ -126,13 +126,13 @@ const ( // } type Middleware struct { // Stack tells in which stack the middleware should be located. - // Default to DefaultStack. + // Default to [DefaultStack]. // Optional. Stack MiddlewareStack // Priority tells if the middleware should be positioned high or not in // its stack. - // Default to VeryLowPriority. + // Default to [VeryLowPriority]. // Optional. Priority MiddlewarePriority @@ -149,7 +149,7 @@ type HealthChecker interface { Checks() ([]health.CheckerOption, error) } -// Descriptor returns an API's module descriptor. +// Descriptor returns an [API]'s module descriptor. func (API) Descriptor() gotenberg.ModuleDescriptor { return gotenberg.ModuleDescriptor{ ID: "api", diff --git a/pkg/modules/api/context.go b/pkg/modules/api/context.go index 9cb1303a..7b650e88 100644 --- a/pkg/modules/api/context.go +++ b/pkg/modules/api/context.go @@ -49,7 +49,7 @@ type Context struct { context.Context } -// newContext returns a Context by parsing a "multipart/form-data" request. +// newContext returns a [Context] by parsing a "multipart/form-data" request. func newContext(echoCtx echo.Context, logger *zap.Logger, fs *gotenberg.FileSystem, timeout time.Duration) (*Context, context.CancelFunc, error) { processCtx, processCancel := context.WithTimeout(context.Background(), timeout) @@ -185,12 +185,12 @@ func newContext(echoCtx echo.Context, logger *zap.Logger, fs *gotenberg.FileSyst return ctx, cancel, err } -// Request returns the http.Request. +// Request returns the [http.Request]. func (ctx Context) Request() *http.Request { return ctx.echoCtx.Request() } -// FormData return a FormData. +// FormData return a [FormData]. func (ctx Context) FormData() *FormData { return &FormData{ values: ctx.values, @@ -223,7 +223,7 @@ func (ctx *Context) AddOutputPaths(paths ...string) error { return nil } -// Log returns the context zap.Logger. +// Log returns the context [zap.Logger]. func (ctx Context) Log() *zap.Logger { return ctx.logger } diff --git a/pkg/modules/api/errors.go b/pkg/modules/api/errors.go index 2825dba1..7552dd9f 100644 --- a/pkg/modules/api/errors.go +++ b/pkg/modules/api/errors.go @@ -13,7 +13,7 @@ type SentinelHTTPError struct { message string } -// NewSentinelHTTPError creates a SentinelHTTPError. The message will be sent +// NewSentinelHTTPError creates a [SentinelHTTPError]. The message will be sent // as the response's body if returned from a handler, so make sure to not leak // sensible information. func NewSentinelHTTPError(status int, message string) SentinelHTTPError { @@ -34,7 +34,7 @@ func (err SentinelHTTPError) HTTPError() (int, string) { } // sentinelWrappedError contains both the error which will logged and the -// sidekick SentinelHTTPError. +// sidekick [SentinelHTTPError]. type sentinelWrappedError struct { error sentinel SentinelHTTPError @@ -48,9 +48,9 @@ func (w sentinelWrappedError) HTTPError() (int, string) { return w.sentinel.HTTPError() } -// WrapError wraps the given error with a SentinelHTTPError. The wrapped error -// will be displayed in a log, while the SentinelHTTPError will be sent in the -// response. +// WrapError wraps the given error with a [SentinelHTTPError]. The wrapped +// error will be displayed in a log, while the [SentinelHTTPError] will be sent +// in the response. // // return api.WrapError( // // This first error will be logged. diff --git a/pkg/modules/api/formdata.go b/pkg/modules/api/formdata.go index 2db2bd26..37a2835d 100644 --- a/pkg/modules/api/formdata.go +++ b/pkg/modules/api/formdata.go @@ -23,8 +23,8 @@ type FormData struct { errors error } -// Validate returns nil or an error related to the FormData values, with a -// SentinelHTTPError (status code 400, errors' details as message) wrapped +// Validate returns nil or an error related to the [FormData] values, with a +// [SentinelHTTPError] (status code 400, errors' details as message) wrapped // inside. // // var foo string diff --git a/pkg/modules/api/middlewares.go b/pkg/modules/api/middlewares.go index 2a02ae5d..74b54c35 100644 --- a/pkg/modules/api/middlewares.go +++ b/pkg/modules/api/middlewares.go @@ -57,8 +57,8 @@ func httpErrorHandler() echo.HTTPErrorHandler { } } -// latencyMiddleware sets the start time in the echo.Context under "startTime". -// Its value will be used later to calculate a request latency. +// latencyMiddleware sets the start time in the [echo.Context] under +// "startTime". Its value will be used later to calculate a request latency. // // startTime := c.Get("startTime").(time.Time) func latencyMiddleware() echo.MiddlewareFunc { @@ -74,9 +74,9 @@ func latencyMiddleware() echo.MiddlewareFunc { } } -// rootPathMiddleware sets the root path in the echo.Context under "rootPath". -// Its value may be used to skip a middleware execution based on a request -// URI. +// rootPathMiddleware sets the root path in the [echo.Context] under +// "rootPath". Its value may be used to skip a middleware execution based on a +// request URI. // // rootPath := c.Get("rootPath").(string) // healthURI := fmt.Sprintf("%s/health", rootPath) @@ -97,7 +97,7 @@ func rootPathMiddleware(rootPath string) echo.MiddlewareFunc { } } -// traceMiddleware sets the request identifier in the echo.Context under +// traceMiddleware sets the request identifier in the [echo.Context] under // "trace". Its value is either retrieved from the trace header or generated if // the header is not present / its value is empty. // @@ -123,8 +123,8 @@ func traceMiddleware(header string) echo.MiddlewareFunc { } } -// loggerMiddleware sets the logger in the echo.Context under "logger" and logs -// a synchronous request result. +// loggerMiddleware sets the logger in the [echo.Context] under "logger" and +// logs a synchronous request result. // // logger := c.Get("logger").(*zap.Logger) func loggerMiddleware(logger *zap.Logger, disableLoggingForPaths []string) echo.MiddlewareFunc { @@ -196,9 +196,9 @@ func loggerMiddleware(logger *zap.Logger, disableLoggingForPaths []string) echo. } // contextMiddleware, a middleware for "multipart/form-data" requests, sets the -// Context and related context.CancelFunc in the echo.Context under "context" -// and "cancel". If the process is synchronous, it also handles the result of a -// "multipart/form-data" request. +// [Context] and related context.CancelFunc in the [echo.Context] under +// "context" and "cancel". If the process is synchronous, it also handles the +// result of a "multipart/form-data" request. // // ctx := c.Get("context").(*api.Context) // cancel := c.Get("cancel").(context.CancelFunc) diff --git a/pkg/modules/webhook/client.go b/pkg/modules/webhook/client.go index 65e03214..24e32ff9 100644 --- a/pkg/modules/webhook/client.go +++ b/pkg/modules/webhook/client.go @@ -111,8 +111,8 @@ func (c client) send(body io.Reader, headers map[string]string, erroed bool) err return nil } -// leveledLogger is wrapper around a zap.Logger which is used by the -// retryablehttp.Client. +// leveledLogger is wrapper around a [zap.Logger] which is used by the +// [retryablehttp.Client]. type leveledLogger struct { logger *zap.Logger } diff --git a/pkg/modules/webhook/middleware_test.go b/pkg/modules/webhook/middleware_test.go index bed78c32..7d0e2e0b 100644 --- a/pkg/modules/webhook/middleware_test.go +++ b/pkg/modules/webhook/middleware_test.go @@ -549,7 +549,7 @@ func TestWebhookMiddlewareAsynchronousProcess(t *testing.T) { }() err := webhookMiddleware(tc.mod).Handler(tc.next)(c) - if err != nil && err != api.ErrAsyncProcess { + if err != nil && !errors.Is(err, api.ErrAsyncProcess) { t.Errorf("test %d: expected no error but got: %v", i, err) } diff --git a/pkg/modules/webhook/webhook.go b/pkg/modules/webhook/webhook.go index c973810f..f1904fa4 100644 --- a/pkg/modules/webhook/webhook.go +++ b/pkg/modules/webhook/webhook.go @@ -30,7 +30,7 @@ type Webhook struct { disable bool } -// Descriptor returns an Webhook's module descriptor. +// Descriptor returns an [Webhook]'s module descriptor. func (Webhook) Descriptor() gotenberg.ModuleDescriptor { return gotenberg.ModuleDescriptor{ ID: "webhook",