Skip to content

Commit c1ad6c8

Browse files
committed
Defer closing database
1 parent 8d90855 commit c1ad6c8

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

main.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func LogoutHandler(w http.ResponseWriter, req *http.Request, p httprouter.Params
6565
delete := http.Cookie{Name: "goblog", Value: "delete", Expires: time.Now(), HttpOnly: true, Path: "/"}
6666
http.SetCookie(w, &delete)
6767
// Delete cookie from DB
68+
6869
http.Redirect(w, req, "/", http.StatusFound)
6970
}
7071

@@ -122,6 +123,7 @@ func verifyUser(w http.ResponseWriter, r *http.Request, username string, passwor
122123
if err != nil {
123124
fmt.Println(err)
124125
}
126+
defer db.Close()
125127
db.View(func(tx *bolt.Tx) error {
126128
b := tx.Bucket([]byte("UsersBucket"))
127129
correctpass = b.Get([]byte(username))
@@ -130,6 +132,10 @@ func verifyUser(w http.ResponseWriter, r *http.Request, username string, passwor
130132
if password == string(correctpass) {
131133
cookie := http.Cookie{Name: "goblog", Value: RandomString(), Expires: time.Now().Add(time.Hour * 24 * 7 * 52), HttpOnly: true, MaxAge: 50000, Path: "/"}
132134
db, err := bolt.Open("goblog.db", 0600, nil)
135+
if err != nil {
136+
fmt.Println(err)
137+
}
138+
defer db.Close()
133139
db.Update(func(tx *bolt.Tx) error {
134140
b := tx.Bucket([]byte("CookieBucket"))
135141
err := b.Put([]byte(cookie.Value), []byte(username))
@@ -144,14 +150,15 @@ func verifyUser(w http.ResponseWriter, r *http.Request, username string, passwor
144150
func addUser(username string, password string) bool {
145151
check := []byte("")
146152
db, err := bolt.Open("goblog.db", 0600, nil)
153+
if err != nil {
154+
fmt.Println(err)
155+
}
156+
defer db.Close()
147157
db.View(func(tx *bolt.Tx) error {
148158
b := tx.Bucket([]byte("UsersBucket"))
149159
check = b.Get([]byte(username)) //username
150160
return nil
151161
})
152-
if err != nil {
153-
fmt.Println(err)
154-
}
155162
if len(check) > 2 {
156163
db.Update(func(tx *bolt.Tx) error {
157164
b := tx.Bucket([]byte("UsersBucket"))
@@ -195,11 +202,15 @@ func getUser(w http.ResponseWriter, r *http.Request) string {
195202
cookie, err := r.Cookie("goblog")
196203
servervalue := []byte("")
197204
db, err := bolt.Open("goblog.db", 0600, nil)
205+
defer db.Close()
198206
db.View(func(tx *bolt.Tx) error {
199207
b := tx.Bucket([]byte("CookieBucket"))
200208
servervalue = b.Get([]byte(cookie.Value))
201209
return nil
202210
})
211+
if err != nil {
212+
fmt.Println(err)
213+
}
203214
if err == nil {
204215
if len(servervalue) > 2 {
205216
if cookie.Value != "delete" {

0 commit comments

Comments
 (0)