Flash Messages

Sometimes you need to temporarily store data between requests of the same user, such as error or success messages after a form submission. The Iris sessions package supports flash messages.

As we've seen the Sessions chapter, you initialize a session like this:

import "github.com/kataras/iris/v12/sessions"

sess := sessions.New(sessions.Config{Cookie: "cookieName", ...})
// [app := iris.New...]

app.Get("/path", func(ctx iris.Context) {
    session := sess.Start(ctx)
    // [...]
})

The Session contains the following methods to store, retrieve and remove flash messages.

SetFlash(key string, value interface{})
HasFlash() bool
GetFlashes() map[string]interface{}

PeekFlash(key string) interface{}
GetFlash(key string) interface{}
GetFlashString(key string) string
GetFlashStringDefault(key string, defaultValue string) string

DeleteFlash(key string)
ClearFlashes()

The method names are self-explained. For example, if you need to get a message and remove it at the next request use the GetFlash. When you only need to retrieve but don't remove then use the PeekFlash.

Flash messages are not stored in a database.

Last updated