github.com/soulteary/pocket-bookcase@v0.0.0-20240428065142-0b5a9a0fc98a/internal/webserver/server.go (about)

     1  package webserver
     2  
     3  import (
     4  	"time"
     5  
     6  	cch "github.com/patrickmn/go-cache"
     7  	"github.com/soulteary/pocket-bookcase/internal/database"
     8  	"github.com/soulteary/pocket-bookcase/internal/dependencies"
     9  )
    10  
    11  // Config is parameter that used for starting web server
    12  type Config struct {
    13  	DB            database.DB
    14  	DataDir       string
    15  	ServerAddress string
    16  	ServerPort    int
    17  	RootPath      string
    18  	Log           bool
    19  }
    20  
    21  func GetLegacyHandler(cfg Config, dependencies *dependencies.Dependencies) *Handler {
    22  	return &Handler{
    23  		DB:           cfg.DB,
    24  		DataDir:      cfg.DataDir,
    25  		UserCache:    cch.New(time.Hour, 10*time.Minute),
    26  		SessionCache: cch.New(time.Hour, 10*time.Minute),
    27  		ArchiveCache: cch.New(time.Minute, 5*time.Minute),
    28  		RootPath:     cfg.RootPath,
    29  		Log:          cfg.Log,
    30  		dependencies: dependencies,
    31  	}
    32  }