added error checking for session.Get

This commit is contained in:
Derek McQuay 2016-08-22 21:18:43 -07:00
parent 73aec0c514
commit 2bdfee01d5
1 changed files with 25 additions and 5 deletions

View File

@ -103,7 +103,11 @@ func (s *Server) gitHubCallback(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "/", http.StatusTemporaryRedirect) http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
return return
} }
session, _ := store.Get(r, "creds") session, err := store.Get(r, "creds")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
session.Values["authenticated"] = true session.Values["authenticated"] = true
session.Values["uname"] = user.Login session.Values["uname"] = user.Login
if err := session.Save(r, w); err != nil { if err := session.Save(r, w); err != nil {
@ -114,7 +118,11 @@ func (s *Server) gitHubCallback(w http.ResponseWriter, r *http.Request) {
func (s *Server) list(w http.ResponseWriter, r *http.Request) { func (s *Server) list(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
session, _ := store.Get(r, "creds") session, err := store.Get(r, "creds")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
if loggedIn := session.Values["authenticated"]; loggedIn != true { if loggedIn := session.Values["authenticated"]; loggedIn != true {
http.Redirect(w, r, "/", http.StatusTemporaryRedirect) http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
return return
@ -172,7 +180,11 @@ func (s *Server) auth(w http.ResponseWriter, r *http.Request) {
Auth: false, Auth: false,
} }
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
session, _ := store.Get(r, "creds") session, err := store.Get(r, "creds")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
if loggedIn := session.Values["authenticated"]; loggedIn == true { if loggedIn := session.Values["authenticated"]; loggedIn == true {
output.Auth = true output.Auth = true
json.NewEncoder(w).Encode(output) json.NewEncoder(w).Encode(output)
@ -183,7 +195,11 @@ func (s *Server) auth(w http.ResponseWriter, r *http.Request) {
} }
func (s *Server) logout(w http.ResponseWriter, req *http.Request) { func (s *Server) logout(w http.ResponseWriter, req *http.Request) {
session, _ := store.Get(req, "creds") session, err := store.Get(req, "creds")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
delete(session.Values, "authenticated") delete(session.Values, "authenticated")
delete(session.Values, "uname") delete(session.Values, "uname")
session.Save(req, w) session.Save(req, w)
@ -205,7 +221,11 @@ func (s *Server) serverInfo(w http.ResponseWriter, req *http.Request) {
} }
func (s *Server) plist(w http.ResponseWriter, r *http.Request) { func (s *Server) plist(w http.ResponseWriter, r *http.Request) {
session, _ := store.Get(r, "creds") session, err := store.Get(r, "creds")
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
if loggedIn := session.Values["authenticated"]; loggedIn != true { if loggedIn := session.Values["authenticated"]; loggedIn != true {
http.Redirect(w, r, "/", http.StatusTemporaryRedirect) http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
return return