Experimenting with sessions
This commit is contained in:
parent
8ec31267c6
commit
c15e4da93c
2
go.mod
2
go.mod
@ -6,4 +6,4 @@ require github.com/go-chi/chi/v5 v5.0.14
|
||||
|
||||
require github.com/justinas/nosurf v1.1.1
|
||||
|
||||
require github.com/alexedwards/scs/v2 v2.8.0 // indirect
|
||||
require github.com/alexedwards/scs/v2 v2.8.0
|
||||
|
@ -29,6 +29,9 @@ func NewHandlers(r *Repository) {
|
||||
|
||||
// Home is the about page handler
|
||||
func (m *Repository) Home(w http.ResponseWriter, r *http.Request) {
|
||||
remoteIP := r.RemoteAddr
|
||||
m.App.Session.Put(r.Context(), "remote_ip", remoteIP)
|
||||
|
||||
render.RenderTemplate(w, "home.page.tmpl", &models.TemplateData{})
|
||||
}
|
||||
|
||||
@ -37,6 +40,10 @@ func (m *Repository) About(w http.ResponseWriter, r *http.Request) {
|
||||
// perform some logic
|
||||
stringMap := make(map[string]string)
|
||||
stringMap["test"] = "Hello world!"
|
||||
|
||||
remoteIP := m.App.Session.GetString(r.Context(), "remote_ip")
|
||||
stringMap["remote_ip"] = remoteIP
|
||||
|
||||
// send the data to the template
|
||||
render.RenderTemplate(w, "about.page.tmpl", &models.TemplateData{StringMap: stringMap})
|
||||
}
|
||||
|
@ -7,6 +7,14 @@
|
||||
<p>This is the content</p>
|
||||
|
||||
<p>This came from the template: {{index .StringMap "test"}}</p>
|
||||
|
||||
<p>
|
||||
{{if ne (index .StringMap "remote_ip") ""}}
|
||||
Your remote IP address is {{index .StringMap "remote_ip"}}
|
||||
{{else}}
|
||||
I don't know your ip address yet. Visit the <a href="/"></a> so I can set it.
|
||||
{{end}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user