web

package
v1.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2026 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Earliest = di.Earliest
	Earlier  = di.Earlier
	Normal   = di.Normal
	Later    = di.Later
	Latest   = di.Latest
)
View Source
const DefaultSpaDistPath = "web/dist"
View Source
const SwaggerCustomizersGroupName = "web.swagger.customizers"

SwaggerCustomizersGroupName is the DI group used for SwaggerCustomizer implementations.

View Source
const SwaggerPostCustomizersGroupName = "web.swagger.customizers.post"
View Source
const SwaggerPreCustomizersGroupName = "web.swagger.customizers.pre"

Variables

View Source
var HandlersGroupName = "us.handlers"

Functions

func ActivateRegistryContainer added in v1.12.0

func ActivateRegistryContainer(c *RegistryContainer)

ActivateRegistryContainer swaps package-level registry pointers to this container.

func AddSwaggerModelType added in v1.12.0

func AddSwaggerModelType[T any](r *SwaggerModelRegistry)

AddSwaggerModelType registers model type T in the provided registry.

func ClearEnumRegistry added in v1.12.0

func ClearEnumRegistry()

ClearEnumRegistry removes all registered enum values. Primarily useful for tests.

func ClearGlobalHook added in v1.12.0

func ClearGlobalHook()

ClearGlobalHook removes the registered global metadata hook.

func ClearOperationIDHook added in v1.12.0

func ClearOperationIDHook()

ClearOperationIDHook clears the registered operationId hook.

func ClearOperationIDTagPrefix added in v1.12.0

func ClearOperationIDTagPrefix()

ClearOperationIDTagPrefix disables global operationId tag prefixing.

func ClearSchemaNameRegistry added in v1.12.0

func ClearSchemaNameRegistry()

ClearSchemaNameRegistry removes all schema name overrides. Primarily useful for tests.

func ClearTypeRules added in v1.12.0

func ClearTypeRules()

ClearTypeRules clears all replace/skip rules. Primarily useful for tests.

func IgnoreAutoGroupHandlers added in v1.12.0

func IgnoreAutoGroupHandlers() di.Option

func Init added in v1.12.0

func Init() di.Node

func Module

func Module(extends ...di.Node) di.Node

func NewFiberApp

func NewFiberApp(config FiberConfig) *fiber.App

func NewFiberAppWithOptions added in v1.9.2

func NewFiberAppWithOptions(config FiberConfig, opts ...FiberAppOption) *fiber.App

func NewRegistryLifecycle added in v1.12.0

func NewRegistryLifecycle(reg *RegistryContainer) *registryLifecycle

func NopOtelMiddleware

func NopOtelMiddleware() di.Node

func ParseBodyLimit added in v1.9.2

func ParseBodyLimit(v string) (int, error)

func ParseTLSMinVersion added in v1.9.2

func ParseTLSMinVersion(v string) (uint16, error)

func Priority

func Priority(value PriorityLevel) di.Option

func RegisterEnum added in v1.12.0

func RegisterEnum[T any](values ...T)

RegisterEnum registers enum values for a Go type so schemas can emit OpenAPI enum constraints. Usage: RegisterEnum(StatusActive, StatusInactive)

func RegisterFiberApp

func RegisterFiberApp(lc fx.Lifecycle, app *fiber.App, logger *zap.Logger, config Config)

func RegisterGlobalHook added in v1.12.0

func RegisterGlobalHook(hook HookFunc)

RegisterGlobalHook registers a global metadata hook used during OpenAPI generation. The hook can mutate any RouteMetadata fields (operationId, tags, request body, responses, etc).

func RegisterOperationIDHook added in v1.12.0

func RegisterOperationIDHook(hook OperationIDHook)

RegisterOperationIDHook registers a global hook to customize operationId.

func RegisterOperationIDTagPrefix added in v1.12.0

func RegisterOperationIDTagPrefix(separator string)

RegisterOperationIDTagPrefix enables global operationId prefixing with first operation tag. Example: Users_GetUserByID.

func RegisterSchemaName added in v1.12.0

func RegisterSchemaName[T any](name string)

RegisterSchemaName overrides the OpenAPI component schema name for type T. Usage: RegisterSchemaName[MyType]("User")

func RegisterSchemaNameForModel added in v1.12.0

func RegisterSchemaNameForModel(model any, name string)

RegisterSchemaNameForModel overrides the OpenAPI component schema name for a model value/type. model can be a value, pointer, or reflect.Type.

func ReplaceType added in v1.12.0

func ReplaceType[From any, To any]()

ReplaceType maps a source type to another type for OpenAPI generation. Example: ReplaceType[sql.NullInt64, int64]()

func ResetDefaultRegistryContainer added in v1.12.0

func ResetDefaultRegistryContainer()

ResetDefaultRegistryContainer restores package-level registries to fresh defaults.

func SetupHandlers

func SetupHandlers(in setupHandlersIn)

func SkipType added in v1.12.0

func SkipType[T any]()

SkipType excludes type T from generated schema fields and parameters.

func UseAutoSwagger added in v1.12.0

func UseAutoSwagger(opts ...SwaggerOption) di.Node

UseAutoSwagger enables automatic Swagger documentation generation This inspects all registered routes at runtime and generates an OpenAPI spec

func UseBuildInfo

func UseBuildInfo(opts ...BuildInfoOption) di.Node

func UseSpa

func UseSpa(opts ...SpaOption) di.Node

func UseSwagger

func UseSwagger(opts ...SwaggerOption) di.Node

Types

type AutoSwaggerComponents added in v1.12.0

type AutoSwaggerComponents struct {
	Schemas         map[string]interface{} `json:"schemas,omitempty"`
	SecuritySchemes map[string]interface{} `json:"securitySchemes,omitempty"`
}

type AutoSwaggerContact added in v1.12.0

type AutoSwaggerContact struct {
	Name  string `json:"name,omitempty"`
	URL   string `json:"url,omitempty"`
	Email string `json:"email,omitempty"`
}

type AutoSwaggerInfo added in v1.12.0

type AutoSwaggerInfo struct {
	Title          string              `json:"title"`
	Description    string              `json:"description"`
	Version        string              `json:"version"`
	TermsOfService string              `json:"termsOfService,omitempty"`
	Contact        *AutoSwaggerContact `json:"contact,omitempty"`
	License        *AutoSwaggerLicense `json:"license,omitempty"`
}

type AutoSwaggerLicense added in v1.12.0

type AutoSwaggerLicense struct {
	Name string `json:"name"`
	URL  string `json:"url,omitempty"`
}

type AutoSwaggerMiddleware added in v1.12.0

type AutoSwaggerMiddleware struct {
	// contains filtered or unexported fields
}

AutoSwaggerMiddleware provides runtime OpenAPI spec generation

func (*AutoSwaggerMiddleware) Handle added in v1.12.0

func (m *AutoSwaggerMiddleware) Handle(r fiber.Router)

Handle registers the auto-swagger routes

type AutoSwaggerSpec added in v1.12.0

type AutoSwaggerSpec struct {
	OpenAPI    string                            `json:"openapi"`
	Info       AutoSwaggerInfo                   `json:"info"`
	Paths      map[string]map[string]interface{} `json:"paths"`
	Security   []map[string][]string             `json:"security,omitempty"`
	Tags       []AutoSwaggerTag                  `json:"tags,omitempty"`
	Components *AutoSwaggerComponents            `json:"components,omitempty"`
}

AutoSwaggerSpec represents a runtime-generated OpenAPI specification

func BuildOpenAPISpec added in v1.12.0

func BuildOpenAPISpec(routes []RouteInfo, config Config) *AutoSwaggerSpec

BuildOpenAPISpec generates an OpenAPI 3.0 spec from route information

func BuildOpenAPISpecWithOptions added in v1.12.0

func BuildOpenAPISpecWithOptions(routes []RouteInfo, config Config, opts OpenAPIBuildOptions) *AutoSwaggerSpec

BuildOpenAPISpecWithOptions generates an OpenAPI spec with extended metadata options.

func BuildOpenAPISpecWithRegistry added in v1.12.0

func BuildOpenAPISpecWithRegistry(routes []RouteInfo, config Config, registry *MetadataRegistry) *AutoSwaggerSpec

BuildOpenAPISpecWithRegistry generates an OpenAPI spec using a specific metadata registry.

func BuildOpenAPISpecWithSecurity added in v1.12.0

func BuildOpenAPISpecWithSecurity(routes []RouteInfo, config Config, securitySchemes map[string]interface{}, defaultSecurity []SecurityRequirement) *AutoSwaggerSpec

BuildOpenAPISpecWithSecurity generates an OpenAPI spec with optional global security schemes and default security requirements.

func BuildOpenAPISpecWithSecuritySchemes added in v1.12.0

func BuildOpenAPISpecWithSecuritySchemes(routes []RouteInfo, config Config, securitySchemes map[string]interface{}) *AutoSwaggerSpec

BuildOpenAPISpecWithSecuritySchemes generates an OpenAPI spec with optional global security schemes.

type AutoSwaggerTag added in v1.12.0

type AutoSwaggerTag struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
}

type BuildInfoHandler

type BuildInfoHandler = buildinfo.Handler

func NewBuildInfoHandler

func NewBuildInfoHandler(opts ...BuildInfoOption) *BuildInfoHandler

type BuildInfoOption

type BuildInfoOption = buildinfo.Option

func WithDefaultPath

func WithDefaultPath(path ...string) BuildInfoOption

type Config

type Config struct {
	Name   string       `mapstructure:"name" default:"Ultrastructure API"`
	Server ServerConfig `mapstructure:"server"`
	Listen ListenConfig `mapstructure:"listen"`
	TLS    TLSConfig    `mapstructure:"tls"`
}

type DateQuery

type DateQuery struct {
	FromDate time.Time `query:"from_date" json:"from_date"`
	ToDate   time.Time `query:"to_date" json:"to_date"`
}

type Error

type Error struct {
	Error     ErrorDetail `json:"error"`
	RequestID string      `json:"request_id"`
}

type ErrorDetail

type ErrorDetail struct {
	Code    string   `json:"code"`
	Message string   `json:"message"`
	Details []string `json:"details"`
}

type FiberAppConfig added in v1.9.2

type FiberAppConfig struct {
	ServerHeader       string        `mapstructure:"server_header"`
	BodyLimit          string        `mapstructure:"body_limit" default:"4MiB"`
	ReadTimeout        time.Duration `mapstructure:"read_timeout" default:"10s"`
	WriteTimeout       time.Duration `mapstructure:"write_timeout" default:"10s"`
	IdleTimeout        time.Duration `mapstructure:"idle_timeout" default:"60s"`
	ReadBufferSize     int           `mapstructure:"read_buffer_size" default:"4096"`
	WriteBufferSize    int           `mapstructure:"write_buffer_size" default:"4096"`
	DisableKeepalive   bool          `mapstructure:"disable_keepalive" default:"false"`
	EnableIPValidation bool          `mapstructure:"enable_ip_validation" default:"true"`
}

type FiberAppOption added in v1.9.2

type FiberAppOption interface {
	// contains filtered or unexported methods
}

func WithName added in v1.9.2

func WithName(name string) FiberAppOption

type FiberConfig

type FiberConfig struct {
	App           FiberAppConfig   `mapstructure:"app"`
	Proxy         FiberProxyConfig `mapstructure:"proxy"`
	CaseSensitive bool             `mapstructure:"case_sensitive" default:"false"`
	StrictRouting bool             `mapstructure:"strict_routing" default:"false"`
}

type FiberProxyConfig added in v1.9.2

type FiberProxyConfig struct {
	TrustProxy       bool                   `mapstructure:"trust_proxy" default:"false"`
	ProxyHeader      string                 `mapstructure:"proxy_header"`
	TrustProxyConfig fiber.TrustProxyConfig `mapstructure:"trust_proxy_config"`
}

type Handler

type Handler interface {
	Handle(r Router)
}

type HookFunc added in v1.12.0

type HookFunc func(ctx *SwaggerContext)

HookFunc mutates route metadata before operation generation.

type ListenConfig added in v1.9.2

type ListenConfig struct {
	ListenerNetwork       string        `mapstructure:"listener_network" default:"tcp"`
	ShutdownTimeout       time.Duration `mapstructure:"shutdown_timeout" default:"10s"`
	DisableStartupMessage bool          `mapstructure:"disable_startup_message" default:"false"`
	EnablePrefork         bool          `mapstructure:"enable_prefork" default:"false"`
	EnablePrintRoutes     bool          `mapstructure:"enable_print_routes" default:"false"`
}

type MetadataRegistry added in v1.12.0

type MetadataRegistry struct {
	// contains filtered or unexported fields
}

MetadataRegistry stores metadata for all routes

func GetGlobalRegistry added in v1.12.0

func GetGlobalRegistry() *MetadataRegistry

GetGlobalRegistry returns the global metadata registry

func (*MetadataRegistry) AllRoutes added in v1.12.0

func (r *MetadataRegistry) AllRoutes() map[string]*RouteMetadata

AllRoutes returns all registered route metadata

func (*MetadataRegistry) Clear added in v1.12.0

func (r *MetadataRegistry) Clear()

Clear removes all registered routes (useful for testing)

func (*MetadataRegistry) GetRoute added in v1.12.0

func (r *MetadataRegistry) GetRoute(method, path string) *RouteMetadata

GetRoute retrieves metadata for a route

func (*MetadataRegistry) RegisterRoute added in v1.12.0

func (r *MetadataRegistry) RegisterRoute(method, path string, metadata *RouteMetadata)

RegisterRoute stores metadata for a route

type MockHandler added in v1.2.0

type MockHandler struct {
	mock.Mock
}

MockHandler is an autogenerated mock type for the Handler type

func NewMockHandler added in v1.2.0

func NewMockHandler(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockHandler

NewMockHandler creates a new instance of MockHandler. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. The first argument is typically a *testing.T value.

func (*MockHandler) EXPECT added in v1.2.0

func (_m *MockHandler) EXPECT() *MockHandler_Expecter

func (*MockHandler) Handle added in v1.2.0

func (_mock *MockHandler) Handle(r fiber.Router)

Handle provides a mock function for the type MockHandler

type MockHandler_Expecter added in v1.2.0

type MockHandler_Expecter struct {
	// contains filtered or unexported fields
}

func (*MockHandler_Expecter) Handle added in v1.2.0

func (_e *MockHandler_Expecter) Handle(r interface{}) *MockHandler_Handle_Call

Handle is a helper method to define mock.On call

  • r fiber.Router

type MockHandler_Handle_Call added in v1.2.0

type MockHandler_Handle_Call struct {
	*mock.Call
}

MockHandler_Handle_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Handle'

func (*MockHandler_Handle_Call) Return added in v1.2.0

func (*MockHandler_Handle_Call) Run added in v1.2.0

func (*MockHandler_Handle_Call) RunAndReturn added in v1.2.0

func (_c *MockHandler_Handle_Call) RunAndReturn(run func(r fiber.Router)) *MockHandler_Handle_Call

type OpenAPIBuildOptions added in v1.12.0

type OpenAPIBuildOptions struct {
	SecuritySchemes map[string]interface{}
	DefaultSecurity []SecurityRequirement
	TagDescriptions map[string]string
	TermsOfService  string
	Contact         *AutoSwaggerContact
	License         *AutoSwaggerLicense
	PreHook         HookFunc
	Hook            HookFunc
	PostHook        HookFunc
	ExtraModels     []reflect.Type
}

type OpenAPIErrorResponse added in v1.12.0

type OpenAPIErrorResponse struct {
	Error   string `json:"error" example:"Internal server error"`
	Code    string `json:"code,omitempty" example:"INTERNAL_ERROR"`
	Message string `json:"message,omitempty" example:"An unexpected error occurred"`
}

OpenAPIErrorResponse is the default schema used by error response presets.

type OperationIDHook added in v1.12.0

type OperationIDHook func(ctx OperationIDHookContext) string

OperationIDHook allows custom global operationId transformation.

type OperationIDHookContext added in v1.12.0

type OperationIDHookContext struct {
	Route       RouteInfo
	Metadata    *RouteMetadata
	Tags        []string
	OperationID string
	Generated   bool
}

OperationIDHookContext contains the current route context for operationId customization.

type OtelMiddleware

type OtelMiddleware struct {
	otel.Telemetry
	// contains filtered or unexported fields
}

func NewOtelMiddleware

func NewOtelMiddleware(config otel.Config, lp *otel.LoggerProvider) *OtelMiddleware

func (*OtelMiddleware) Handle

func (h *OtelMiddleware) Handle(r fiber.Router)

func (*OtelMiddleware) WrapObserver added in v1.12.0

func (h *OtelMiddleware) WrapObserver(c fiber.Ctx) error

type PageQuery

type PageQuery struct {
	Page  int `query:"page" json:"page"`
	Limit int `query:"limit" json:"limit"`
}

type PagedMeta

type PagedMeta struct {
	Page       int  `json:"page,omitempty"`
	Limit      int  `json:"limit,omitempty"`
	TotalItems int  `json:"total_items,omitempty"`
	TotalPages int  `json:"total_pages,omitempty"`
	HasNext    bool `json:"has_next,omitempty"`
	HasPrev    bool `json:"has_prev,omitempty"`
}

type PagedResponse

type PagedResponse struct {
	Data any       `json:"data,omitempty"`
	Meta PagedMeta `json:"meta"`
}

type PaginationMetadata added in v1.12.0

type PaginationMetadata struct {
	ItemType reflect.Type
}

PaginationMetadata stores automatic pagination documentation settings.

type ParameterMetadata added in v1.12.0

type ParameterMetadata struct {
	Name        string
	In          string // query, header, cookie
	Type        reflect.Type
	Required    bool
	Description string
	Extensions  string // e.g. "x-nullable,x-owner=team,!x-omitempty"
}

ParameterMetadata stores header/cookie/query parameter schema metadata.

type PriorityLevel

type PriorityLevel = di.PriorityLevel

func Between

func Between(lower, upper PriorityLevel) PriorityLevel

type RegistryContainer added in v1.12.0

type RegistryContainer struct {
	Metadata        *MetadataRegistry
	Enum            *enumRegistryState
	SchemaName      *schemaNameRegistryState
	TypeRules       *typeRulesRegistryState
	Hook            *hookRegistryState
	OperationIDHook *operationIDHookRegistryState
	OperationIDMode *operationIDRegistryState
}

RegistryContainer groups all mutable runtime registries used by autoswagger/web metadata. It is DI-provided and activated by web.Module lifecycle.

func NewRegistryContainer added in v1.12.0

func NewRegistryContainer() *RegistryContainer

NewRegistryContainer creates a fresh registry set.

type RequestBodyMetadata added in v1.12.0

type RequestBodyMetadata struct {
	Type              reflect.Type
	Required          bool
	ContentTypes      []string
	RequireAtLeastOne bool
}

RequestBodyMetadata stores request body schema metadata.

type Response

type Response struct {
	Data any `json:"data,omitempty"`
	Meta any `json:"meta,omitempty"`
}

type ResponseHeaderMetadata added in v1.12.0

type ResponseHeaderMetadata struct {
	Type        reflect.Type
	Description string
}

ResponseHeaderMetadata stores OpenAPI response header schema metadata.

type ResponseMetadata added in v1.12.0

type ResponseMetadata struct {
	Type        reflect.Type
	ContentType string
	NoContent   bool
	Description string
	Headers     map[string]ResponseHeaderMetadata
}

ResponseMetadata stores response schema metadata for a status code.

type RouteBuilder added in v1.12.0

type RouteBuilder struct {
	// contains filtered or unexported fields
}

RouteBuilder provides fluent API for route metadata configuration

func (*RouteBuilder) Accepted added in v1.12.0

func (b *RouteBuilder) Accepted(responseType any, description ...string) *RouteBuilder

Accepted sets a 202 response schema.

func (*RouteBuilder) Apply added in v1.12.0

func (b *RouteBuilder) Apply(opts ...RouteOption) *RouteBuilder

Apply applies reusable route options in order.

func (*RouteBuilder) AtLeastOneBodyField added in v1.12.0

func (b *RouteBuilder) AtLeastOneBodyField() *RouteBuilder

AtLeastOneBodyField enables at-least-one-field constraint for an already configured body.

func (*RouteBuilder) BadRequest added in v1.12.0

func (b *RouteBuilder) BadRequest(responseType any, description ...string) *RouteBuilder

BadRequest sets a 400 response schema.

func (*RouteBuilder) Body added in v1.12.0

func (b *RouteBuilder) Body(requestType any) *RouteBuilder

Body sets the request body type using type inference.

Usage: .Body(CreateUserRequest{})

func (*RouteBuilder) BodyAs added in v1.12.0

func (b *RouteBuilder) BodyAs(requestType any, contentTypes ...string) *RouteBuilder

BodyAs sets the request body type and content types.

Usage: .BodyAs(CreateUserRequest{}, "application/json", "application/xml")

func (*RouteBuilder) BodyAsAtLeastOne added in v1.12.0

func (b *RouteBuilder) BodyAsAtLeastOne(requestType any, contentTypes ...string) *RouteBuilder

BodyAsAtLeastOne sets a required request body with content types and at-least-one-field constraint.

func (*RouteBuilder) BodyAsOptional added in v1.12.0

func (b *RouteBuilder) BodyAsOptional(requestType any, contentTypes ...string) *RouteBuilder

BodyAsOptional sets an optional request body type and content types.

Usage: .BodyAsOptional(SearchRequest{}, "application/json")

func (*RouteBuilder) BodyAtLeastOne added in v1.12.0

func (b *RouteBuilder) BodyAtLeastOne(requestType any) *RouteBuilder

BodyAtLeastOne sets a required request body and enforces that at least one field is present. Useful for PATCH-style DTOs with optional fields.

func (*RouteBuilder) BodyOptional added in v1.12.0

func (b *RouteBuilder) BodyOptional(requestType any) *RouteBuilder

BodyOptional sets an optional request body type.

Usage: .BodyOptional(SearchRequest{})

func (*RouteBuilder) Conflict added in v1.12.0

func (b *RouteBuilder) Conflict(responseType any, description ...string) *RouteBuilder

Conflict sets a 409 response schema.

func (*RouteBuilder) Cookie added in v1.12.0

func (b *RouteBuilder) Cookie(name string, paramType any, description ...string) *RouteBuilder

Cookie adds an optional request cookie parameter. Usage: .Cookie("session_id", "", "Session cookie")

func (*RouteBuilder) CookieExt added in v1.12.0

func (b *RouteBuilder) CookieExt(name string, paramType any, extensions string, description ...string) *RouteBuilder

CookieExt adds an optional request cookie parameter with OpenAPI extensions.

func (*RouteBuilder) CookieRequired added in v1.12.0

func (b *RouteBuilder) CookieRequired(name string, paramType any, description ...string) *RouteBuilder

CookieRequired adds a required request cookie parameter. Usage: .CookieRequired("session_id", "", "Session cookie")

func (*RouteBuilder) CookieRequiredExt added in v1.12.0

func (b *RouteBuilder) CookieRequiredExt(name string, paramType any, extensions string, description ...string) *RouteBuilder

CookieRequiredExt adds a required request cookie parameter with OpenAPI extensions.

func (*RouteBuilder) Cookies added in v1.12.0

func (b *RouteBuilder) Cookies(values map[string]any) *RouteBuilder

Cookies adds optional request cookies from name->type mappings.

func (*RouteBuilder) CookiesRequired added in v1.12.0

func (b *RouteBuilder) CookiesRequired(values map[string]any) *RouteBuilder

CookiesRequired adds required request cookies from name->type mappings.

func (*RouteBuilder) Create added in v1.12.0

func (b *RouteBuilder) Create(responseType any, description ...string) *RouteBuilder

Create sets a 201 response schema.

func (*RouteBuilder) Description added in v1.12.0

func (b *RouteBuilder) Description(description string) *RouteBuilder

Description sets the operation description.

func (*RouteBuilder) Forbidden added in v1.12.0

func (b *RouteBuilder) Forbidden(responseType any, description ...string) *RouteBuilder

Forbidden sets a 403 response schema.

func (*RouteBuilder) Form added in v1.12.0

func (b *RouteBuilder) Form(requestType any) *RouteBuilder

Form sets a required x-www-form-urlencoded request body type.

func (*RouteBuilder) FormOptional added in v1.12.0

func (b *RouteBuilder) FormOptional(requestType any) *RouteBuilder

FormOptional sets an optional x-www-form-urlencoded request body type.

func (*RouteBuilder) Header added in v1.12.0

func (b *RouteBuilder) Header(name string, paramType any, description ...string) *RouteBuilder

Header adds an optional request header parameter. Usage: .Header("X-Tenant-ID", "", "Tenant identifier")

func (*RouteBuilder) HeaderExt added in v1.12.0

func (b *RouteBuilder) HeaderExt(name string, paramType any, extensions string, description ...string) *RouteBuilder

HeaderExt adds an optional request header parameter with OpenAPI extensions. Usage: .HeaderExt("X-Tenant-ID", "", "x-nullable,x-owner=platform", "Tenant identifier")

func (*RouteBuilder) HeaderRequired added in v1.12.0

func (b *RouteBuilder) HeaderRequired(name string, paramType any, description ...string) *RouteBuilder

HeaderRequired adds a required request header parameter. Usage: .HeaderRequired("X-Tenant-ID", "", "Tenant identifier")

func (*RouteBuilder) HeaderRequiredExt added in v1.12.0

func (b *RouteBuilder) HeaderRequiredExt(name string, paramType any, extensions string, description ...string) *RouteBuilder

HeaderRequiredExt adds a required request header parameter with OpenAPI extensions.

func (*RouteBuilder) Headers added in v1.12.0

func (b *RouteBuilder) Headers(values map[string]any) *RouteBuilder

Headers adds optional request headers from name->type mappings.

func (*RouteBuilder) HeadersRequired added in v1.12.0

func (b *RouteBuilder) HeadersRequired(values map[string]any) *RouteBuilder

HeadersRequired adds required request headers from name->type mappings.

func (*RouteBuilder) InternalError added in v1.12.0

func (b *RouteBuilder) InternalError(responseType any, description ...string) *RouteBuilder

InternalError sets a 500 response schema.

func (*RouteBuilder) Multipart added in v1.12.0

func (b *RouteBuilder) Multipart(requestType any) *RouteBuilder

Multipart sets a required multipart/form-data request body type.

func (*RouteBuilder) MultipartOptional added in v1.12.0

func (b *RouteBuilder) MultipartOptional(requestType any) *RouteBuilder

MultipartOptional sets an optional multipart/form-data request body type.

func (*RouteBuilder) Name added in v1.12.0

func (b *RouteBuilder) Name(name string) *RouteBuilder

Name sets the operation ID.

func (*RouteBuilder) NameWithTagPrefix added in v1.12.0

func (b *RouteBuilder) NameWithTagPrefix(name string) *RouteBuilder

NameWithTagPrefix sets operationId prefixed by first tag, e.g. Users_GetUserByID. If no tag is available, falls back to plain Name behavior.

func (*RouteBuilder) NoContent added in v1.12.0

func (b *RouteBuilder) NoContent(statusCode int) *RouteBuilder

NoContent marks a status response as having no response body. Usage: .NoContent(204)

func (*RouteBuilder) NotFound added in v1.12.0

func (b *RouteBuilder) NotFound(responseType any, description ...string) *RouteBuilder

NotFound sets a 404 response schema.

func (*RouteBuilder) Ok added in v1.12.0

func (b *RouteBuilder) Ok(responseType any, description ...string) *RouteBuilder

Ok sets a 200 response schema.

func (*RouteBuilder) Paginated added in v1.12.0

func (b *RouteBuilder) Paginated(itemType any) *RouteBuilder

Paginated adds standard pagination query parameters and a paginated 200 response envelope. The generated response shape is: { "items": [...], "total": 123, "next_cursor": "..." }.

func (*RouteBuilder) Policies added in v1.12.0

func (b *RouteBuilder) Policies(policies ...string) *RouteBuilder

Policies adds policy names used by authz policy governance. Usage: .Policies("orders.read", "orders.write")

func (*RouteBuilder) Produces added in v1.12.0

func (b *RouteBuilder) Produces(responseType any, statusCode int) *RouteBuilder

Produces sets a response type for a status code using type inference Usage: .Produces(User{}, 200)

func (*RouteBuilder) ProducesAs added in v1.12.0

func (b *RouteBuilder) ProducesAs(responseType any, statusCode int, contentType string) *RouteBuilder

ProducesAs sets a response type and content type for a status code. Usage: .ProducesAs(string(""), 200, "text/plain")

func (*RouteBuilder) ProducesWithDescription added in v1.12.0

func (b *RouteBuilder) ProducesWithDescription(responseType any, statusCode int, description string) *RouteBuilder

ProducesWithDescription sets a response type and custom description for a status code.

func (*RouteBuilder) ProducesWithExample added in v1.12.0

func (b *RouteBuilder) ProducesWithExample(example any, statusCode int) *RouteBuilder

ProducesWithExample sets a response type with a custom example Usage: .ProducesWithExample(User{ID: "123"}, 200)

func (*RouteBuilder) Public added in v1.12.0

func (b *RouteBuilder) Public() *RouteBuilder

Public marks the route as explicitly public (no security requirements).

func (*RouteBuilder) Query added in v1.12.0

func (b *RouteBuilder) Query(queryType any) *RouteBuilder

Query sets query parameter type using struct tag inference.

Usage: .Query(ListUsersQuery{})

func (*RouteBuilder) Scopes added in v1.12.0

func (b *RouteBuilder) Scopes(scheme string, scopes ...string) *RouteBuilder

Scopes adds a security requirement with scopes. Usage: .Scopes("OAuth2", "read:users")

func (*RouteBuilder) Security added in v1.12.0

func (b *RouteBuilder) Security(scheme string) *RouteBuilder

Security adds a security requirement with no scopes. Usage: .Security("BearerAuth")

func (*RouteBuilder) SetCookies added in v1.12.0

func (b *RouteBuilder) SetCookies(statusCode int, cookieName string, description ...string) *RouteBuilder

SetCookies adds response Set-Cookie header documentation for a status code. Usage: .SetCookies(200, "session_id")

func (*RouteBuilder) SetHeaders added in v1.12.0

func (b *RouteBuilder) SetHeaders(statusCode int, name string, valueType any, description ...string) *RouteBuilder

SetHeaders adds response header documentation for a status code. Usage: .SetHeaders(201, "Location", "")

func (*RouteBuilder) StandardErrors added in v1.12.0

func (b *RouteBuilder) StandardErrors() *RouteBuilder

StandardErrors adds common error responses (400/401/403/404/500) using OpenAPIErrorResponse schema.

func (*RouteBuilder) Summary added in v1.12.0

func (b *RouteBuilder) Summary(summary string) *RouteBuilder

Summary sets the operation summary.

func (*RouteBuilder) Tags added in v1.12.0

func (b *RouteBuilder) Tags(tags ...string) *RouteBuilder

Tags sets tags for grouping in Swagger UI.

func (*RouteBuilder) Unauthorized added in v1.12.0

func (b *RouteBuilder) Unauthorized(responseType any, description ...string) *RouteBuilder

Unauthorized sets a 401 response schema.

func (*RouteBuilder) UnprocessableEntity added in v1.12.0

func (b *RouteBuilder) UnprocessableEntity(responseType any, description ...string) *RouteBuilder

UnprocessableEntity sets a 422 response schema.

func (*RouteBuilder) ValidationErrors added in v1.12.0

func (b *RouteBuilder) ValidationErrors() *RouteBuilder

ValidationErrors adds validation-focused error responses (400/422) using OpenAPIErrorResponse schema.

type RouteInfo added in v1.12.0

type RouteInfo struct {
	Method      string
	Path        string
	Handler     string
	HandlerType reflect.Type
}

RouteInfo contains metadata about a registered route

func InspectFiberRoutes added in v1.12.0

func InspectFiberRoutes(app *fiber.App, logger *zap.Logger) []RouteInfo

InspectFiberRoutes extracts route information from a Fiber app

type RouteMetadata added in v1.12.0

type RouteMetadata struct {
	OperationID string
	Tags        []string
	Summary     string
	Description string
	RequestBody *RequestBodyMetadata
	QueryType   reflect.Type
	Parameters  []ParameterMetadata
	Security    []SecurityRequirement
	Policies    []string
	Pagination  *PaginationMetadata
	Responses   map[int]ResponseMetadata // statusCode -> metadata
	Examples    map[int]interface{}      // statusCode -> example
}

RouteMetadata stores OpenAPI metadata for a single route

type RouteOption added in v1.12.0

type RouteOption func(*RouteBuilder) *RouteBuilder

RouteOption applies reusable configuration to a RouteBuilder.

func Accepted added in v1.12.0

func Accepted[T any](description ...string) RouteOption

Accepted returns a RouteOption that sets a 202 response schema type T.

func BadRequest added in v1.12.0

func BadRequest[T any](description ...string) RouteOption

BadRequest returns a RouteOption that sets a 400 response schema type T.

func Body added in v1.12.0

func Body(requestType any) RouteOption

Body returns a RouteOption that sets the request body schema.

func BodyAtLeastOne added in v1.12.0

func BodyAtLeastOne(requestType any) RouteOption

BodyAtLeastOne returns a RouteOption for PATCH-like payloads where at least one field must be provided.

func BodyOptional added in v1.12.0

func BodyOptional(requestType any) RouteOption

BodyOptional returns a RouteOption that sets an optional request body schema.

func Conflict added in v1.12.0

func Conflict[T any](description ...string) RouteOption

Conflict returns a RouteOption that sets a 409 response schema type T.

func Cookie(name string, valueType any, description ...string) RouteOption

Cookie returns a RouteOption that adds an optional request cookie parameter.

func CookieExt added in v1.12.0

func CookieExt(name string, valueType any, extensions string, description ...string) RouteOption

CookieExt returns a RouteOption that adds an optional request cookie parameter with extensions.

func CookieRequired added in v1.12.0

func CookieRequired(name string, valueType any, description ...string) RouteOption

CookieRequired returns a RouteOption that adds a required request cookie parameter.

func CookieRequiredExt added in v1.12.0

func CookieRequiredExt(name string, valueType any, extensions string, description ...string) RouteOption

CookieRequiredExt returns a RouteOption that adds a required request cookie parameter with extensions.

func Cookies added in v1.12.0

func Cookies(values map[string]any) RouteOption

Cookies returns a RouteOption that adds optional request cookies from map name->type.

func CookiesRequired added in v1.12.0

func CookiesRequired(values map[string]any) RouteOption

CookiesRequired returns a RouteOption that adds required request cookies from map name->type.

func Create added in v1.12.0

func Create[T any](description ...string) RouteOption

Create returns a RouteOption that sets a 201 response schema type T.

func Description added in v1.12.0

func Description(description string) RouteOption

Description returns a RouteOption that sets operation description.

func Forbidden added in v1.12.0

func Forbidden[T any](description ...string) RouteOption

Forbidden returns a RouteOption that sets a 403 response schema type T.

func Form added in v1.12.0

func Form(requestType any) RouteOption

Form returns a RouteOption that sets required x-www-form-urlencoded body schema.

func FormOptional added in v1.12.0

func FormOptional(requestType any) RouteOption

FormOptional returns a RouteOption that sets optional x-www-form-urlencoded body schema.

func Header(name string, valueType any, description ...string) RouteOption

Header returns a RouteOption that adds an optional request header parameter.

func HeaderExt added in v1.12.0

func HeaderExt(name string, valueType any, extensions string, description ...string) RouteOption

HeaderExt returns a RouteOption that adds an optional request header parameter with extensions.

func HeaderRequired added in v1.12.0

func HeaderRequired(name string, valueType any, description ...string) RouteOption

HeaderRequired returns a RouteOption that adds a required request header parameter.

func HeaderRequiredExt added in v1.12.0

func HeaderRequiredExt(name string, valueType any, extensions string, description ...string) RouteOption

HeaderRequiredExt returns a RouteOption that adds a required request header parameter with extensions.

func Headers added in v1.12.0

func Headers(values map[string]any) RouteOption

Headers returns a RouteOption that adds optional request headers from map name->type.

func HeadersRequired added in v1.12.0

func HeadersRequired(values map[string]any) RouteOption

HeadersRequired returns a RouteOption that adds required request headers from map name->type.

func InternalError added in v1.12.0

func InternalError[T any](description ...string) RouteOption

InternalError returns a RouteOption that sets a 500 response schema type T.

func Multipart added in v1.12.0

func Multipart(requestType any) RouteOption

Multipart returns a RouteOption that sets required multipart/form-data body schema.

func MultipartOptional added in v1.12.0

func MultipartOptional(requestType any) RouteOption

MultipartOptional returns a RouteOption that sets optional multipart/form-data body schema.

func Name added in v1.12.0

func Name(name string) RouteOption

Name returns a RouteOption that sets operationId.

func NameWithTagPrefix added in v1.12.0

func NameWithTagPrefix(name string) RouteOption

NameWithTagPrefix returns a RouteOption that sets operationId as <firstTag>_<name>.

func NotFound added in v1.12.0

func NotFound[T any](description ...string) RouteOption

NotFound returns a RouteOption that sets a 404 response schema type T.

func Ok added in v1.12.0

func Ok[T any](description ...string) RouteOption

Ok returns a RouteOption that sets a 200 response schema type T.

func Produce added in v1.12.0

func Produce[T any](statusCode ...int) RouteOption

Produce returns a RouteOption that sets response schema type T. Default status code is 200.

func ProduceAs added in v1.12.0

func ProduceAs[T any](statusCode int, contentType string) RouteOption

ProduceAs returns a RouteOption that sets response schema type T and content type.

func ProduceWithDescription added in v1.12.0

func ProduceWithDescription[T any](statusCode int, description string) RouteOption

ProduceWithDescription returns a RouteOption that sets response schema type T with a custom response description.

func Query added in v1.12.0

func Query[T any]() RouteOption

Query returns a RouteOption that sets query parameter schema from type T.

func SetCookies added in v1.12.0

func SetCookies(statusCode int, cookieName string, description ...string) RouteOption

SetCookies returns a RouteOption that adds Set-Cookie response header documentation.

func SetHeaders added in v1.12.0

func SetHeaders(statusCode int, name string, valueType any, description ...string) RouteOption

SetHeaders returns a RouteOption that adds response header documentation.

func Summary added in v1.12.0

func Summary(summary string) RouteOption

Summary returns a RouteOption that sets operation summary.

func Tag added in v1.12.0

func Tag(tag string) RouteOption

Tag returns a RouteOption that adds one tag.

func Tags added in v1.12.0

func Tags(tags ...string) RouteOption

Tags returns a RouteOption that adds multiple tags.

func Unauthorized added in v1.12.0

func Unauthorized[T any](description ...string) RouteOption

Unauthorized returns a RouteOption that sets a 401 response schema type T.

func UnprocessableEntity added in v1.12.0

func UnprocessableEntity[T any](description ...string) RouteOption

UnprocessableEntity returns a RouteOption that sets a 422 response schema type T.

type Router added in v1.12.0

type Router interface {
	// Standard HTTP methods that return RouteBuilder for chaining
	Get(path string, handlers ...fiber.Handler) *RouteBuilder
	Post(path string, handlers ...fiber.Handler) *RouteBuilder
	Put(path string, handlers ...fiber.Handler) *RouteBuilder
	Delete(path string, handlers ...fiber.Handler) *RouteBuilder
	Patch(path string, handlers ...fiber.Handler) *RouteBuilder
	Head(path string, handlers ...fiber.Handler) *RouteBuilder
	Options(path string, handlers ...fiber.Handler) *RouteBuilder
	All(path string, handlers ...fiber.Handler) Router

	// Group creates a sub-router with a prefix
	Group(prefix string, handlers ...fiber.Handler) Router

	// Tags sets default tags for all routes created from this router
	Tags(tags ...string) Router

	// Use adds middleware
	Use(args ...interface{}) Router
}

Router extends fiber.Router with fluent API methods

func NewRouter added in v1.12.0

func NewRouter(fiberRouter fiber.Router) Router

NewRouter creates a new Router wrapper

func NewRouterWithRegistry added in v1.12.0

func NewRouterWithRegistry(fiberRouter fiber.Router, registry *MetadataRegistry) Router

NewRouterWithRegistry creates a router wrapper bound to a specific metadata registry. If registry is nil, it falls back to the global registry.

type SchemaExtractor added in v1.12.0

type SchemaExtractor struct {
	// contains filtered or unexported fields
}

SchemaExtractor extracts OpenAPI schemas from Go types using reflection

func NewSchemaExtractor added in v1.12.0

func NewSchemaExtractor() *SchemaExtractor

NewSchemaExtractor creates a new schema extractor

func (*SchemaExtractor) ExtractSchema added in v1.12.0

func (e *SchemaExtractor) ExtractSchema(t reflect.Type) map[string]interface{}

ExtractSchema analyzes a Go type and returns an OpenAPI schema

func (*SchemaExtractor) ExtractSchemaRef added in v1.12.0

func (e *SchemaExtractor) ExtractSchemaRef(t reflect.Type) map[string]interface{}

ExtractSchemaRef analyzes a Go type and returns a schema reference for named struct types while ensuring component schemas are registered.

func (*SchemaExtractor) GetSchemas added in v1.12.0

func (e *SchemaExtractor) GetSchemas() map[string]interface{}

GetSchemas returns all registered schemas

type SecurityRequirement added in v1.12.0

type SecurityRequirement struct {
	Scheme string
	Scopes []string
}

SecurityRequirement stores OpenAPI operation security requirements.

type ServerConfig added in v1.9.2

type ServerConfig struct {
	Host string `mapstructure:"host" default:"0.0.0.0"`
	Port int    `mapstructure:"port" default:"8080"`
}

type SpaMiddleware

type SpaMiddleware struct {
	// contains filtered or unexported fields
}

func NewSpaMiddleware

func NewSpaMiddleware(assets *embed.FS, log *zap.Logger) (*SpaMiddleware, error)

func NewSpaMiddlewareWithOptions added in v1.2.0

func NewSpaMiddlewareWithOptions(opts ...SpaOption) (*SpaMiddleware, error)

func (*SpaMiddleware) Handle

func (s *SpaMiddleware) Handle(r fiber.Router)

type SpaOption added in v1.2.0

type SpaOption func(*spaOptions)

func WithSpaAssets added in v1.2.0

func WithSpaAssets(assets *embed.FS) SpaOption

func WithSpaDistPath added in v1.2.0

func WithSpaDistPath(path string) SpaOption

func WithSpaLogger added in v1.2.0

func WithSpaLogger(log *zap.Logger) SpaOption

type SwaggerContext added in v1.12.0

type SwaggerContext struct {
	Route     RouteInfo
	Method    string
	Path      string
	Metadata  *RouteMetadata
	Models    *SwaggerModelRegistry
	Spec      *AutoSwaggerSpec
	Operation map[string]interface{}
}

SwaggerContext provides mutable route metadata during OpenAPI generation.

func (*SwaggerContext) AddParameter added in v1.12.0

func (c *SwaggerContext) AddParameter(parameter ParameterMetadata)

func (*SwaggerContext) AddTag added in v1.12.0

func (c *SwaggerContext) AddTag(tags ...string)

func (*SwaggerContext) RouteModelPackageName added in v1.12.0

func (c *SwaggerContext) RouteModelPackageName() string

RouteModelPackageName returns the last path segment of the primary model package.

func (*SwaggerContext) RouteModelPackagePath added in v1.12.0

func (c *SwaggerContext) RouteModelPackagePath() string

RouteModelPackagePath returns the import path of the primary model type.

func (*SwaggerContext) RouteModelType added in v1.12.0

func (c *SwaggerContext) RouteModelType() reflect.Type

RouteModelType returns a stable "primary" model type for this route context. Priority: request body type, then lowest-status response type, then query type, then parameter types, then pagination item type.

func (*SwaggerContext) SetDescription added in v1.12.0

func (c *SwaggerContext) SetDescription(description string)

func (*SwaggerContext) SetOperationField added in v1.12.0

func (c *SwaggerContext) SetOperationField(key string, value any)

func (*SwaggerContext) SetOperationID added in v1.12.0

func (c *SwaggerContext) SetOperationID(operationID string)

func (*SwaggerContext) SetRequestBody added in v1.12.0

func (c *SwaggerContext) SetRequestBody(model any, required bool, contentTypes ...string)

func (*SwaggerContext) SetResponse added in v1.12.0

func (c *SwaggerContext) SetResponse(statusCode int, model any, description string)

func (*SwaggerContext) SetSummary added in v1.12.0

func (c *SwaggerContext) SetSummary(summary string)

type SwaggerCustomizeFunc added in v1.12.0

type SwaggerCustomizeFunc func(ctx *SwaggerContext)

SwaggerCustomizeFunc adapts a function to SwaggerCustomizer.

func (SwaggerCustomizeFunc) CustomizeSwagger added in v1.12.0

func (f SwaggerCustomizeFunc) CustomizeSwagger(ctx *SwaggerContext)

type SwaggerCustomizer added in v1.12.0

type SwaggerCustomizer interface {
	CustomizeSwagger(ctx *SwaggerContext)
}

SwaggerCustomizer allows DI-provided structs to mutate route metadata during autoswagger generation.

type SwaggerMiddleware added in v1.12.0

type SwaggerMiddleware struct {
	// contains filtered or unexported fields
}

func NewSwaggerMiddleware added in v1.12.0

func NewSwaggerMiddleware(config Config) (*SwaggerMiddleware, error)

func NewSwaggerMiddlewareWithOptions added in v1.12.0

func NewSwaggerMiddlewareWithOptions(opts ...SwaggerOption) (*SwaggerMiddleware, error)

func (*SwaggerMiddleware) Handle added in v1.12.0

func (h *SwaggerMiddleware) Handle(r fiber.Router)

type SwaggerModelRegistry added in v1.12.0

type SwaggerModelRegistry struct {
	// contains filtered or unexported fields
}

SwaggerModelRegistry stores extra model types that should be included in generated OpenAPI component schemas.

func NewSwaggerModelRegistry added in v1.12.0

func NewSwaggerModelRegistry() *SwaggerModelRegistry

NewSwaggerModelRegistry creates a DI-friendly registry for additional swagger models.

func (*SwaggerModelRegistry) Add added in v1.12.0

func (r *SwaggerModelRegistry) Add(models ...any) *SwaggerModelRegistry

Add registers one or more model values or reflect.Type values. Nil values are ignored.

func (*SwaggerModelRegistry) AddNamed added in v1.12.0

func (r *SwaggerModelRegistry) AddNamed(name string, model any) *SwaggerModelRegistry

AddNamed registers a model and forces its OpenAPI schema name. This works for both named and anonymous struct types.

func (*SwaggerModelRegistry) Clear added in v1.12.0

func (r *SwaggerModelRegistry) Clear()

Clear removes all registered model types.

func (*SwaggerModelRegistry) Types added in v1.12.0

func (r *SwaggerModelRegistry) Types() []reflect.Type

Types returns a deterministic snapshot of all registered model types.

type SwaggerOption added in v1.2.0

type SwaggerOption func(*swaggerOptions)

func RegisterHook added in v1.12.0

func RegisterHook(hook ...HookFunc) SwaggerOption

RegisterHook sets the autoswagger hook inside UseAutoSwagger(...). Usage: UseAutoSwagger(RegisterHook(func(ctx *SwaggerContext) { ... })) When called with no arguments it is a no-op option.

func WithAPIContact added in v1.12.0

func WithAPIContact(name, url, email string) SwaggerOption

WithAPIContact sets OpenAPI info.contact.

func WithAPIKeySecurityScheme added in v1.12.0

func WithAPIKeySecurityScheme(name, keyName, in string) SwaggerOption

WithAPIKeySecurityScheme adds a global API key security scheme to auto-generated OpenAPI docs. Parameter "in" should be one of: header, query, cookie.

func WithAPILicense added in v1.12.0

func WithAPILicense(name, url string) SwaggerOption

WithAPILicense sets OpenAPI info.license.

func WithAPITermsOfService added in v1.12.0

func WithAPITermsOfService(url string) SwaggerOption

WithAPITermsOfService sets OpenAPI info.termsOfService.

func WithBearerSecurityScheme added in v1.12.0

func WithBearerSecurityScheme(name string) SwaggerOption

WithBearerSecurityScheme adds a global HTTP bearer security scheme to auto-generated OpenAPI docs.

func WithDefaultSecurity added in v1.12.0

func WithDefaultSecurity(scheme string, scopes ...string) SwaggerOption

WithDefaultSecurity adds a global default OpenAPI security requirement. Usage: WithDefaultSecurity("BearerAuth") or WithDefaultSecurity("OAuth2", "read:users")

func WithSwaggerConfig added in v1.2.0

func WithSwaggerConfig(config Config) SwaggerOption

func WithSwaggerCustomize added in v1.12.0

func WithSwaggerCustomize(hook HookFunc) SwaggerOption

WithSwaggerCustomize registers a per-UseAutoSwagger metadata hook. This hook can mutate operation metadata before OpenAPI operation generation.

func WithSwaggerExtraModels added in v1.12.0

func WithSwaggerExtraModels(models ...any) SwaggerOption

WithSwaggerExtraModels registers additional model types to always include in OpenAPI components.schemas generation.

func WithSwaggerPath added in v1.2.0

func WithSwaggerPath(path string) SwaggerOption

func WithTagDescription added in v1.12.0

func WithTagDescription(name, description string) SwaggerOption

WithTagDescription adds a top-level OpenAPI tag with description (or enriches an existing tag).

type SwaggerPostRun added in v1.12.0

type SwaggerPostRun interface {
	PostCustomizeSwagger(ctx *SwaggerContext)
}

SwaggerPostRun is an optional interface for logic that should run after operation generation for the current route.

type SwaggerPreRun added in v1.12.0

type SwaggerPreRun interface {
	PreCustomizeSwagger(ctx *SwaggerContext)
}

SwaggerPreRun is an optional interface for logic that should run before the main customization phase.

type TLSConfig added in v1.9.2

type TLSConfig struct {
	CertFile       string `mapstructure:"cert_file"`
	CertKeyFile    string `mapstructure:"cert_key_file"`
	CertClientFile string `mapstructure:"cert_client_file"`
	TLSMinVersion  string `mapstructure:"tls_min_version" default:"1.2"`
}

Directories

Path Synopsis
testtypes

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL