db

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2025 License: MIT Imports: 14 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TableNameValid = regexp.MustCompilePOSIX("^[a-zA-Z_][a-zA-Z0-9_.]*$").MatchString

Functions

func CreateResponseTableQuery

func CreateResponseTableQuery(tableName string) string

func CreateResponseTables

func CreateResponseTables(db *sql.DB, tableNames ...string) error

func ResponseTables

func ResponseTables(db *sql.DB) ([]string, error)

func WriterQuery

func WriterQuery(tableName string) string

Types

type MultiDatabaseRepository

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

func NewMultiDatabaseRepository

func NewMultiDatabaseRepository(dbs []*sql.DB) (*MultiDatabaseRepository, error)

func NewMultiDatabaseRepositoryWithTTL

func NewMultiDatabaseRepositoryWithTTL(ttl time.Duration, cleanupInterval time.Duration, dbs []*sql.DB) (*MultiDatabaseRepository, error)

func (*MultiDatabaseRepository) Close

func (r *MultiDatabaseRepository) Close() error

func (*MultiDatabaseRepository) FindByURL

func (r *MultiDatabaseRepository) FindByURL(ctx context.Context, url string) (*Response, error)

func (*MultiDatabaseRepository) Write

func (r *MultiDatabaseRepository) Write(ctx context.Context, url string, resp *Response) error

type Repository

type Repository interface {
	io.Closer
	FindByURL(ctx context.Context, url string) (*Response, error)
	Write(ctx context.Context, url string, resp *Response) error
}

func NewRepository

func NewRepository(db *sql.DB, ttl time.Duration, cleanupInterval time.Duration, tableNames ...string) (Repository, error)

type Response

type Response struct {
	Status       int
	Body         io.ReadCloser
	Header       map[string][]string
	RequestTime  time.Time
	ResponseTime time.Time
	DatabaseID   int
	TableName    string
}

func HttpToResponse

func HttpToResponse(resp *http.Response) (*Response, error)

Jump to

Keyboard shortcuts

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