@@ -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
144150func 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