Help us shape the future of Go! Take the 2026 Go Developer Survey

virtualkey

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 22, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const GeneratedKeyPrefix = "vk-"

Variables

View Source
var (
	ErrVirtualKeyNotCarried    = errors.New("virtual key is not carried")
	ErrVirtualKeyNotConfigured = errors.New("virtual key is not configured")
)

Functions

func DecodeStoredVirtualKey

func DecodeStoredVirtualKey(data []byte) (any, error)

DecodeStoredVirtualKey decodes virtual key records.

func ExtractAPIKey

func ExtractAPIKey(r *http.Request) string

ExtractAPIKey extracts the bearer token or x-api-key value from the request.

func GenerateKey

func GenerateKey() (string, error)

Types

type VirtualKey

type VirtualKey struct {
	ID          string `json:"id"`
	Key         string `json:"key"`
	Tag         string `json:"tag,omitempty"`
	Description string `json:"description,omitempty"`
	Disabled    bool   `json:"disabled"`

	AllowedRouteIDs []string `json:"allowed_route_ids,omitempty"`

	StatusMessage string    `json:"status_message,omitempty"`
	CreatedAt     time.Time `json:"created_at"`
	UpdatedAt     time.Time `json:"updated_at"`
	ExpiresAt     time.Time `json:"expires_at,omitempty"`
}

VirtualKey represents a gateway consumer identity, not an upstream provider credential.

func (*VirtualKey) NormalizeTimestamps

func (key *VirtualKey) NormalizeTimestamps(now time.Time)

func (VirtualKey) Validate

func (key VirtualKey) Validate() error

func (VirtualKey) ValidateForRoute

func (key VirtualKey) ValidateForRoute(routeID string) error

type VirtualKeyListOptions

type VirtualKeyListOptions struct {
	Tag string
}

type VirtualKeyManager

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

func NewVirtualKeyManager

func NewVirtualKeyManager(store configstore.ConfigStore) *VirtualKeyManager

func (*VirtualKeyManager) Create

func (m *VirtualKeyManager) Create(ctx context.Context, key VirtualKey) error

func (*VirtualKeyManager) Delete

func (m *VirtualKeyManager) Delete(ctx context.Context, id string) error

func (*VirtualKeyManager) GetByID

func (m *VirtualKeyManager) GetByID(ctx context.Context, id string) (VirtualKey, error)

func (*VirtualKeyManager) GetByKey

func (m *VirtualKeyManager) GetByKey(ctx context.Context, key string) (VirtualKey, error)

func (*VirtualKeyManager) List

func (*VirtualKeyManager) Reset

func (m *VirtualKeyManager) Reset()

func (*VirtualKeyManager) Update

func (m *VirtualKeyManager) Update(ctx context.Context, id string, key VirtualKey) error

Jump to

Keyboard shortcuts

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