Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/gotenberg/gotenberg
/ types & classes
Types & classes
147 in github.com/gotenberg/gotenberg
⨍
Functions
1,037
◇
Types & classes
147
↓ 2 callers
TypeAlias
AlphanumericSort
AlphanumericSort implements sort.Interface and helps to sort strings alphanumerically by either a numeric prefix or, if missing, a numeric suffix. Se
pkg/gotenberg/sort.go:26
↓ 2 callers
TypeAlias
digitSuffixSort
pkg/modules/pdfcpu/sort.go:10
Interface
Api
Api helps to interact with Chromium for converting HTML documents to PDF.
pkg/modules/chromium/chromium.go:428
Struct
Api
Api is a module that provides an HTTP server. Other modules may add routes, middlewares or health checks.
pkg/modules/api/api.go:30
Struct
Api
Api is a module that provides a [Uno] to interact with LibreOffice.
pkg/modules/libreoffice/api/api.go:49
Struct
ApiMock
ApiMock is a mock for the [Api] interface.
pkg/modules/chromium/mocks.go:11
Struct
ApiMock
ApiMock is a mock for the [Uno] interface.
pkg/modules/libreoffice/api/mocks.go:12
Interface
App
App is a module interface for modules which can be started or stopped by the application.
pkg/gotenberg/modules.go:64
Interface
AsynchronousCounter
AsynchronousCounter is a module interface that returns the number of active asynchronous requests. See https://github.com/gotenberg/gotenberg/issues/
pkg/modules/api/api.go:179
Struct
Bookmark
Bookmark represents a node in the PDF document's outline (table of contents).
pkg/gotenberg/pdfengine.go:202
Struct
Chromium
Chromium is a module that provides both an [Api] and routes for converting an HTML document to PDF.
pkg/modules/chromium/chromium.go:94
Struct
Cmd
Cmd wraps an [exec.Cmd].
pkg/gotenberg/cmd.go:22
Struct
Context
Context is a struct that helps to initialize modules. When provisioning, a module may use the context to get other modules that it needs internally.
pkg/gotenberg/context.go:10
Struct
Context
Context is the request context for a "multipart/form-data" request.
pkg/modules/api/context.go:45
Struct
ContextMock
ContextMock is a helper for tests. ctx := &api.ContextMock{Context: &api.Context{}}
pkg/modules/api/mocks.go:15
Struct
Cookie
Cookie gathers the available entries for setting a cookie in the Chromium cookies' jar.
pkg/modules/chromium/chromium.go:381
Struct
DebugInfo
DebugInfo gathers data for debugging.
pkg/gotenberg/debug.go:13
Interface
Debuggable
Debuggable is a module interface for modules which want to provide additional debug data.
pkg/gotenberg/modules.go:80
Struct
DebuggableMock
pkg/gotenberg/mocks.go:36
FuncType
DecideOption
DecideOption customizes how [DecideOutbound] and [FilterOutboundURL] validate a URL. Options are applied in order on top of the permissive defaults (n
pkg/gotenberg/outbound.go:196
Struct
EmulatedMediaFeature
EmulatedMediaFeature gathers the available entries for emulating a media feature.
pkg/modules/chromium/chromium.go:210
Struct
EncryptOptions
EncryptOptions gathers the parameters for encrypting a PDF. An empty UserPassword with a set OwnerPassword produces an owner-only document: it opens w
pkg/gotenberg/pdfengine.go:187
Struct
ExifTool
ExifTool abstracts the CLI tool ExifTool and implements the [gotenberg.PdfEngine] interface.
pkg/modules/exiftool/exiftool.go:162
Struct
ExtraHttpHeader
ExtraHttpHeader are extra HTTP headers to send by Chromium.
pkg/modules/chromium/chromium.go:412
Struct
FacturX
FacturX gathers the properties required by the Factur-X/ZUGFeRD standard for the document-level XMP metadata packet of a PDF/A-3.
pkg/gotenberg/pdfengine.go:246
Struct
FileSystem
FileSystem provides utilities for managing temporary directories. It creates unique directory names based on UUIDs to ensure isolation of temporary fi
pkg/gotenberg/fs.go:43
Struct
FormData
FormData is a helper for validating and hydrating values from a "multipart/form-data" request. form := ctx.FormData()
pkg/modules/api/formdata.go:39
Struct
HTTPClient
pkg/gotenberg/semconv/client.go:27
Struct
HTTPServer
pkg/gotenberg/semconv/server.go:39
Interface
HealthChecker
HealthChecker is a module interface that allows adding health checks to the API. See https://github.com/alexliesenfeld/health for more details.
pkg/modules/api/api.go:170
Struct
HealthCheckerMock
HealthCheckerMock is a mock for the [HealthChecker] interface.
pkg/modules/api/mocks.go:125
Interface
HttpError
Credits: https://www.joeshaw.org/error-handling-in-go-http-applications. HttpError is an interface allowing to retrieve the HTTP details of an error.
pkg/modules/api/errors.go:6
Struct
LeveledLogger
LeveledLogger is a wrapper around a [slog.Logger] so that it may be used by a [retryablehttp.Client].
pkg/gotenberg/telemetry.go:209
Struct
LibreOffice
LibreOffice is a module that provides a route for converting documents to PDF with LibreOffice.
pkg/modules/libreoffice/libreoffice.go:19
Struct
LibreOfficePdfEngine
LibreOfficePdfEngine interacts with the LibreOffice (Universal Network Objects) API and implements the [gotenberg.PdfEngine] interface.
pkg/modules/libreoffice/pdfengine/pdfengine.go:19
Struct
Metric
Metric represents a unitary metric.
pkg/gotenberg/metrics.go:4
Struct
MetricAttributes
pkg/gotenberg/semconv/server.go:242
Struct
MetricData
pkg/gotenberg/semconv/server.go:249
Struct
MetricOpts
pkg/gotenberg/semconv/client.go:258
Interface
MetricsProvider
MetricsProvider is a module interface which provides a list of [Metric]. func (m *YourModule) Provision(ctx *gotenberg.Context) error { provider,
pkg/gotenberg/metrics.go:24
Struct
MetricsProviderMock
MetricsProviderMock is a mock for the [MetricsProvider] interface.
pkg/gotenberg/mocks.go:208
Struct
Middleware
Middleware is a middleware that can be added to the [Api]'s middlewares chain. middleware := Middleware{ Handler: func() echo.MiddlewareFunc {
pkg/modules/api/api.go:149
TypeAlias
MiddlewarePriority
MiddlewarePriority is a type that helps to determine the execution order of middlewares provided by the [MiddlewareProvider] modules in a stack.
pkg/modules/api/api.go:114
Interface
MiddlewareProvider
MiddlewareProvider is a module interface that adds middlewares to the [Api].
pkg/modules/api/api.go:98
Struct
MiddlewareProviderMock
MiddlewareProviderMock is a mock for the [MiddlewareProvider] interface.
pkg/modules/api/mocks.go:116
TypeAlias
MiddlewareStack
MiddlewareStack is a type that helps to determine in which stack the middlewares provided by the [MiddlewareProvider] modules should be located.
pkg/modules/api/api.go:104
Interface
MkdirAll
MkdirAll defines the method signature for create a directory. Implement this interface if you don't want to rely on [os.MkdirAll], notably for testing
pkg/gotenberg/fs.go:13
Struct
MkdirAllMock
MkdirAllMock is a mock for the [MkdirAll] interface.
pkg/gotenberg/mocks.go:217
Interface
Module
Module is a sort of plugin which adds new functionalities to the application or other modules. type YourModule struct { property string } func
pkg/gotenberg/modules.go:31
Struct
ModuleDescriptor
ModuleDescriptor describes your module for the application.
pkg/gotenberg/modules.go:36
Struct
ModuleMock
ModuleMock is a mock for the [Module] interface.
pkg/gotenberg/mocks.go:10
Struct
Options
Options are the common options for all conversions.
pkg/modules/chromium/chromium.go:119
Struct
Options
Options gathers available options when converting a document to PDF. See: https://help.libreoffice.org/latest/en-US/text/shared/guide/pdf_params.html.
pkg/modules/libreoffice/api/api.go:70
Struct
OsMkdirAll
OsMkdirAll implements the [MkdirAll] interface with [os.MkdirAll].
pkg/gotenberg/fs.go:19
Struct
OsPathRename
OsPathRename implements the [PathRename] interface with [os.Rename].
pkg/gotenberg/fs.go:33
Struct
OutboundDecision
OutboundDecision is the result of validating an outbound URL via [DecideOutbound]. Callers use it to dial the destination either directly (operator-ap
pkg/gotenberg/outbound.go:170
Struct
ParsedFlags
ParsedFlags wraps a [flag.FlagSet] so that retrieving the typed values is easier.
pkg/gotenberg/flags.go:13
Interface
PathRename
PathRename defines the method signature for renaming files. Implement this interface if you don't want to rely on [os.Rename], notably for testing pur
pkg/gotenberg/fs.go:27
Struct
PathRenameMock
PathRenameMock is a mock for the [PathRename] interface.
pkg/gotenberg/mocks.go:226
Struct
PdfCpu
PdfCpu abstracts the CLI tool pdfcpu and implements the [gotenberg.PdfEngine] interface.
pkg/modules/pdfcpu/pdfcpu.go:33
Interface
PdfEngine
PdfEngine provides an interface for operations on PDFs. Implementations can use various tools like PDFtk, or implement functionality directly in Go.
pkg/gotenberg/pdfengine.go:266
Struct
PdfEngineInvalidArgsError
PdfEngineInvalidArgsError represents an error returned by a PDF engine when invalid arguments are provided. It includes the name of the engine and a d
pkg/gotenberg/pdfengine.go:47
Struct
PdfEngineMock
PdfEngineMock is a mock for the [PdfEngine] interface. nolint:dupl
pkg/gotenberg/mocks.go:47
Interface
PdfEngineProvider
PdfEngineProvider offers an interface to instantiate a [PdfEngine]. This is used to decouple the creation of a [PdfEngine] from its consumers. Exampl
pkg/gotenberg/pdfengine.go:349
Struct
PdfEngineProviderMock
PdfEngineProviderMock is a mock for the [PdfEngineProvider] interface.
pkg/gotenberg/mocks.go:136
Struct
PdfEngines
PdfEngines acts as an aggregator and manager for multiple PDF engine modules. It enables the selection and ordering of PDF engines based on user prefe
pkg/modules/pdfengines/pdfengines.go:30
Struct
PdfFormats
PdfFormats specifies the target formats for a PDF conversion.
pkg/gotenberg/pdfengine.go:141
Struct
PdfOptions
PdfOptions are the available options for converting an HTML document to PDF.
pkg/modules/chromium/chromium.go:245
Struct
PdfPermissions
PdfPermissions gathers the document permissions enforced when a PDF is encrypted. Each field defaults to true (the action is allowed); set a field to
pkg/gotenberg/pdfengine.go:154
Struct
PdfTk
PdfTk abstracts the CLI tool PDFtk and implements the [gotenberg.PdfEngine] interface.
pkg/modules/pdftk/pdftk.go:29
Interface
Process
Process is an interface that represents an abstract process and provides methods for starting, stopping, and checking the health of the process. Impl
pkg/gotenberg/supervisor.go:31
Struct
ProcessMock
ProcessMock is a mock for the [Process] interface.
pkg/gotenberg/mocks.go:145
Interface
ProcessSupervisor
ProcessSupervisor provides methods to manage a [Process], including starting, stopping, and ensuring its health. Additionally, it allows for the exec
pkg/gotenberg/supervisor.go:52
Struct
ProcessSupervisorMock
ProcessSupervisorMock is a mock for the [ProcessSupervisor] interface.
pkg/gotenberg/mocks.go:164
Struct
Prometheus
Prometheus is a module that collects metrics and exposes them via an HTTP route.
pkg/modules/prometheus/prometheus.go:25
Interface
Provider
Provider is a module interface that exposes a method for creating an [Api] for other modules. func (m *YourModule) Provision(ctx *gotenberg.Context)
pkg/modules/chromium/chromium.go:440
Interface
Provider
Provider is a module interface that exposes a method for creating a [Uno] for other modules. func (m *YourModule) Provision(ctx *gotenberg.Context)
pkg/modules/libreoffice/api/api.go:320
Struct
ProviderMock
ProviderMock is a mock for the [Provider] interface.
pkg/modules/libreoffice/api/mocks.go:26
Interface
Provisioner
Provisioner is a module interface for modules which have to be initialized according to flags, environment variables, the context, etc.
pkg/gotenberg/modules.go:52
Struct
ProvisionerMock
ProvisionerMock is a mock for the [Provisioner] interface.
pkg/gotenberg/mocks.go:19
Struct
QPdf
QPdf abstracts the CLI tool QPDF and implements the [gotenberg.PdfEngine] interface.
pkg/modules/qpdf/qpdf.go:34
Struct
RequestTraceAttrsOpts
pkg/gotenberg/semconv/server.go:26
Struct
ResponseTelemetry
pkg/gotenberg/semconv/server.go:31
Struct
Route
Route represents a route from a [Router].
pkg/modules/api/api.go:74
Interface
Router
Router is a module interface that adds routes to the [Api].
pkg/modules/api/api.go:69
Struct
RouterMock
RouterMock is a mock for the [Router] interface.
pkg/modules/api/mocks.go:107
Struct
ScreenshotOptions
ScreenshotOptions are the available options for capturing a screenshot from an HTML document.
pkg/modules/chromium/chromium.go:336
Struct
SentinelHttpError
SentinelHttpError is the HTTP sidekick of an error.
pkg/modules/api/errors.go:11
Struct
ServerMetricData
pkg/gotenberg/semconv/server.go:234
Struct
SplitMode
SplitMode gathers the data required to split a PDF into multiple parts.
pkg/gotenberg/pdfengine.go:101
Struct
Stamp
Stamp gathers the data required to apply a watermark or stamp to a PDF.
pkg/gotenberg/pdfengine.go:75
Interface
SystemLogger
SystemLogger is a module interface for modules which want to display messages on startup.
pkg/gotenberg/modules.go:74
Struct
TelemetryConfig
TelemetryConfig gathers the configuration data for Gotenberg's telemetry.
pkg/gotenberg/telemetry.go:38
Interface
Uno
Uno is an abstraction on top of the Universal Network Objects API.
pkg/modules/libreoffice/api/api.go:308
Interface
Validator
Validator is a module interface for modules which have to be validated after provisioning.
pkg/gotenberg/modules.go:58
Struct
ValidatorMock
ValidatorMock is a mock for the [Validator] interface.
pkg/gotenberg/mocks.go:28
Struct
Webhook
Webhook is a module that provides a middleware for uploading output files to any destinations in an asynchronous fashion.
pkg/modules/webhook/webhook.go:20
Struct
attemptResult
pkg/modules/pdfengines/multi.go:97
Interface
browser
pkg/modules/chromium/browser.go:26
Struct
browserArguments
pkg/modules/chromium/browser.go:32
next →
1–100 of 147, ranked by callers