Session helper
This commit is contained in:
parent
137c2b23c7
commit
aeb68a3b79
1 changed files with 15 additions and 14 deletions
29
main.go
29
main.go
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
@ -47,12 +48,13 @@ func NewApp() *gin.Engine {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
r.GET("/slides.md", func(c *gin.Context) {
|
mustHaveSession := func(c *gin.Context) (string, error) {
|
||||||
session := sessions.Default(c)
|
session := sessions.Default(c)
|
||||||
val := session.Get("name")
|
val := session.Get("name")
|
||||||
|
emptySession := errors.New("Emtpy session")
|
||||||
if val == nil {
|
if val == nil {
|
||||||
c.String(400, "No context")
|
c.String(400, "No context")
|
||||||
return
|
return "", emptySession
|
||||||
}
|
}
|
||||||
log.WithFields(log.Fields{
|
log.WithFields(log.Fields{
|
||||||
"path": val,
|
"path": val,
|
||||||
|
@ -60,6 +62,15 @@ func NewApp() *gin.Engine {
|
||||||
path, ok := val.(string)
|
path, ok := val.(string)
|
||||||
if !ok {
|
if !ok {
|
||||||
c.String(400, "No context")
|
c.String(400, "No context")
|
||||||
|
return "", emptySession
|
||||||
|
}
|
||||||
|
return path, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
r.GET("/slides.md", func(c *gin.Context) {
|
||||||
|
path, err := mustHaveSession(c)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if _, err := os.Stat(path); err != nil {
|
if _, err := os.Stat(path); err != nil {
|
||||||
// copy sample markdown file to the path
|
// copy sample markdown file to the path
|
||||||
|
@ -80,18 +91,8 @@ func NewApp() *gin.Engine {
|
||||||
})
|
})
|
||||||
|
|
||||||
r.PUT("/slides.md", func(c *gin.Context) {
|
r.PUT("/slides.md", func(c *gin.Context) {
|
||||||
session := sessions.Default(c)
|
path, err := mustHaveSession(c)
|
||||||
val := session.Get("name")
|
if err != nil {
|
||||||
if val == nil {
|
|
||||||
c.String(400, "No context")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
log.WithFields(log.Fields{
|
|
||||||
"path": val,
|
|
||||||
}).Info("Got session")
|
|
||||||
path, ok := val.(string)
|
|
||||||
if !ok {
|
|
||||||
c.String(400, "No context")
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
body, _ := ioutil.ReadAll(c.Request.Body)
|
body, _ := ioutil.ReadAll(c.Request.Body)
|
||||||
|
|
Loading…
Reference in a new issue