openapi

package
v0.0.0-...-ca67a76 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateForgeDescriptor

func CreateForgeDescriptor(router interface{}, locationType farp.LocationType, locationConfig map[string]string) (*farp.SchemaDescriptor, error)

CreateForgeDescriptor creates a schema descriptor from a Forge router This is a helper method to simplify descriptor creation

Types

type ForgeProvider

type ForgeProvider struct {
	*Provider
}

ForgeProvider is a Forge-specific OpenAPI provider that generates schemas from Forge's built-in OpenAPI generator

func NewForgeProvider

func NewForgeProvider(specVersion string, endpoint string) *ForgeProvider

NewForgeProvider creates a new Forge-integrated OpenAPI provider

func (*ForgeProvider) Generate

func (p *ForgeProvider) Generate(ctx context.Context, app farp.Application) (interface{}, error)

Generate generates OpenAPI schema from Forge application

func (*ForgeProvider) GenerateFromRouter

func (p *ForgeProvider) GenerateFromRouter(provider interface{}) (interface{}, error)

GenerateFromRouter generates OpenAPI schema directly from any type that provides OpenAPI specs This is a convenience method for direct router access

func (*ForgeProvider) Validate

func (p *ForgeProvider) Validate(schema interface{}) error

Validate validates an OpenAPI schema generated from Forge

type OpenAPISpecProvider

type OpenAPISpecProvider interface {
	OpenAPISpec() interface{}
}

OpenAPISpecProvider is an interface for types that can provide an OpenAPI spec

type Provider

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

Provider generates OpenAPI 3.x schemas from applications

func NewProvider

func NewProvider(specVersion string, endpoint string) *Provider

NewProvider creates a new OpenAPI schema provider specVersion should be "3.0.0", "3.0.1", or "3.1.0" (recommended)

func (*Provider) ContentType

func (p *Provider) ContentType() string

ContentType returns the content type

func (*Provider) Endpoint

func (p *Provider) Endpoint() string

Endpoint returns the HTTP endpoint where the schema is served

func (*Provider) Generate

func (p *Provider) Generate(ctx context.Context, app farp.Application) (interface{}, error)

Generate generates an OpenAPI schema from the application app should provide Routes() method that returns route information

func (*Provider) GenerateDescriptor

func (p *Provider) GenerateDescriptor(ctx context.Context, app farp.Application, locationType farp.LocationType, locationConfig map[string]string) (*farp.SchemaDescriptor, error)

GenerateDescriptor generates a complete SchemaDescriptor for this schema

func (*Provider) Hash

func (p *Provider) Hash(schema interface{}) (string, error)

Hash calculates SHA256 hash of the schema

func (*Provider) Serialize

func (p *Provider) Serialize(schema interface{}) ([]byte, error)

Serialize converts schema to JSON bytes

func (*Provider) SpecVersion

func (p *Provider) SpecVersion() string

SpecVersion returns the OpenAPI specification version

func (*Provider) Type

func (p *Provider) Type() farp.SchemaType

Type returns the schema type

func (*Provider) Validate

func (p *Provider) Validate(schema interface{}) error

Validate validates an OpenAPI schema

Jump to

Keyboard shortcuts

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