forked from goffee/core
Compare commits
4 commits
bf84e14bb1
...
8eb14bd2da
Author | SHA1 | Date | |
---|---|---|---|
8eb14bd2da | |||
00b8012edf | |||
be138b2fb4 | |||
cc74165659 |
4 changed files with 48 additions and 15 deletions
45
cookies.go
45
cookies.go
|
@ -5,10 +5,9 @@
|
||||||
package core
|
package core
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"crypto/aes"
|
"crypto/aes"
|
||||||
"crypto/cipher"
|
"crypto/cipher"
|
||||||
|
|
||||||
"bytes"
|
|
||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"encoding/gob"
|
"encoding/gob"
|
||||||
|
@ -17,6 +16,8 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -39,10 +40,25 @@ func GetCookie(r *http.Request) (UserCookie, error) {
|
||||||
// Create a new instance of a User type.
|
// Create a new instance of a User type.
|
||||||
var user UserCookie
|
var user UserCookie
|
||||||
|
|
||||||
secretcookie, err = hex.DecodeString("13d6b4dff8f84a10851021ec8608f814570d562c92fe6b5ec4c9f595bcb3234b")
|
// check if template engine is enable
|
||||||
|
TemplateEnableStr := os.Getenv("TEMPLATE_ENABLE")
|
||||||
|
if TemplateEnableStr == "" {
|
||||||
|
TemplateEnableStr = "false"
|
||||||
|
}
|
||||||
|
TemplateEnable, _ := strconv.ParseBool(TemplateEnableStr)
|
||||||
|
// if enabled,
|
||||||
|
if TemplateEnable {
|
||||||
|
cookie_secret := os.Getenv("COOKIE_SECRET")
|
||||||
|
if cookie_secret == "" {
|
||||||
|
panic("cookie secret key is not set")
|
||||||
|
}
|
||||||
|
secretcookie, err = hex.DecodeString(cookie_secret)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return user, err
|
return user, err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
panic("Templates are disabled")
|
||||||
|
}
|
||||||
|
|
||||||
gobEncodedValue, err := CookieReadEncrypted(r, "goffee", secretcookie)
|
gobEncodedValue, err := CookieReadEncrypted(r, "goffee", secretcookie)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -67,7 +83,26 @@ func SetCookie(w http.ResponseWriter, email string, token string) error {
|
||||||
// cookie.
|
// cookie.
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
secretcookie, err = hex.DecodeString("13d6b4dff8f84a10851021ec8608f814570d562c92fe6b5ec4c9f595bcb3234b")
|
// check if template engine is enable
|
||||||
|
TemplateEnableStr := os.Getenv("TEMPLATE_ENABLE")
|
||||||
|
if TemplateEnableStr == "" {
|
||||||
|
TemplateEnableStr = "false"
|
||||||
|
}
|
||||||
|
TemplateEnable, _ := strconv.ParseBool(TemplateEnableStr)
|
||||||
|
// if enabled,
|
||||||
|
if TemplateEnable {
|
||||||
|
cookie_secret := os.Getenv("COOKIE_SECRET")
|
||||||
|
if cookie_secret == "" {
|
||||||
|
panic("cookie secret key is not set")
|
||||||
|
}
|
||||||
|
secretcookie, err = hex.DecodeString(cookie_secret)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
panic("Templates are disabled")
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -101,8 +136,6 @@ func SetCookie(w http.ResponseWriter, email string, token string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("Cookie set %v\n", email)
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{range .AllTD}}<tr scope="row">
|
{{- range .AllTD}}<tr scope="row">
|
||||||
{{range $index, $item := .}}<td {{ if $item.ID }}id="{{$item.ID}}"{{end}}>
|
{{range $index, $item := .}}<td {{ if $item.ID }}id="{{$item.ID}}"{{end}}>
|
||||||
{{ with $x := index $.AllTH $index }}
|
{{ with $x := index $.AllTH $index }}
|
||||||
{{ if eq $x.ValueType "href"}}
|
{{ if eq $x.ValueType "href"}}
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
</td>
|
</td>
|
||||||
{{end}}</tr>
|
{{end}}</tr>
|
||||||
{{end}}
|
{{- end}}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
{{end}}
|
{{end}}
|
|
@ -3,5 +3,5 @@ package components
|
||||||
type FormTextarea struct {
|
type FormTextarea struct {
|
||||||
ID string
|
ID string
|
||||||
Label string
|
Label string
|
||||||
AllOptions []FormSelectOption
|
Value string
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{{define "form_textarea"}}
|
{{define "form_textarea"}}
|
||||||
<div class="input-container">
|
<div class="input-container">
|
||||||
<label for="{{.ID}}" class="form-label">{{.Label}}</label>
|
<label for="{{.ID}}" class="form-label">{{.Label}}</label>
|
||||||
<textarea class="form-control" id="{{.ID}}" name="{{.ID}}" rows="3"></textarea>
|
<textarea class="form-control" id="{{.ID}}" name="{{.ID}}" rows="3">{{.Value}}</textarea>
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
Loading…
Reference in a new issue