를 위한 Session 미들웨어입니다.
Signatures
Copy func New(config ...Config) *Store
func (s *Store) RegisterType(i interface{})
func (s *Store) Get(c *fiber.Ctx) (*Session, error)
func (s *Store) Delete(id string) error
func (s *Store) Reset() error
func (s *Session) Get(key string) interface{}
func (s *Session) Set(key string, val interface{})
func (s *Session) Delete(key string)
func (s *Session) Destroy() error
func (s *Session) Reset() error
func (s *Session) Regenerate() error
func (s *Session) Save() error
func (s *Session) Fresh() bool
func (s *Session) ID() string
func (s *Session) Keys() []string
Examples
Fiber 웹 프레임워크의 미들웨어 패키지를 import 합니다
Copy import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/session"
)
Fiber 앱을 초기화한 후, 다음과 같이 사용할 수 있습니다:
Copy // 기본 설정으로 초기화
// 앱의 모든 세션 저장
store := session.New()
app.Get("/", func(c *fiber.Ctx) error {
// 스토리지에서 세션 가져오기
sess, err := store.Get(c)
if err != nil {
panic(err)
}
// 값 가져오기
name := sess.Get("name")
// 키/값 설정
sess.Set("name", "john")
// 모든 키 가져오기
keys := sess.Keys()
// 키 삭제
sess.Delete("name")
// 세션 삭제
if err := sess.Destroy(); err != nil {
panic(err)
}
// 이 세션에 대한 특정 만료 시간 설정
sess.SetExpiry(time.Second * 2)
// 세션 저장
if err := sess.Save(); err != nil {
panic(err)
}
return c.SendString(fmt.Sprintf("Welcome %v", name))
})
Config
Property
Type
Description
Default
세션 데이터를 저장할 Storage 인터페이스.
KeyLookup은 요청에서 세션 ID를 추출하는 데 사용되는 "<source>:<name>
" 형식의 문자열입니다.
쿠키가 브라우저 세션 동안만 지속되어야 하는지 결정. true로 설정하면 Expiration은 무시됩니다.
KeyGenerator는 세션 키를 생성합니다.
사용 중단: KeyLookup을 사용하세요. 세션 이름.
Default Config
Copy var ConfigDefault = Config{
Expiration: 24 * time.Hour,
KeyLookup: "cookie:session_id",
KeyGenerator: utils.UUIDv4,
source: "cookie",
sessionName: "session_id",
}
Rewrite
Rewrite middleware rewrites the URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links.
Signatures
Copy func New(config ...Config) fiber.Handler
Config
Property
Type
Description
Default
Next defines a function to skip middleware.
Rules defines the URL path rewrite rules. The values captured in asterisk can be retrieved by index.
Examples
Copy package main
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/rewrite"
)
func main() {
app := fiber.New()
app.Use(rewrite.New(rewrite.Config{
Rules: map[string]string{
"/old": "/new",
"/old/*": "/new/$1",
},
}))
app.Get("/new", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
app.Get("/new/*", func(c *fiber.Ctx) error {
return c.SendString("Wildcard: " + c.Params("*"))
})
app.Listen(":3000")
}
Test:
Copy curl http://localhost:3000/old
curl http://localhost:3000/old/hello
Constants
Copy const (
SourceCookie Source = "cookie"
SourceHeader Source = "header"
SourceURLQuery Source = "query"
)
Custom Storage/Database
Copy storage := sqlite3.New() // From github.com/gofiber/storage/sqlite3
store := session.New(session.Config{
Storage: storage,
})
store를 사용하려면, Examples를 참조하세요.