|  |  |  | @@ -2,6 +2,7 @@ package main | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | import ( | 
		
	
		
			
				|  |  |  |  | 	"context" | 
		
	
		
			
				|  |  |  |  | 	"encoding/gob" | 
		
	
		
			
				|  |  |  |  | 	"log" | 
		
	
		
			
				|  |  |  |  | 	"net/http" | 
		
	
		
			
				|  |  |  |  | 	"os" | 
		
	
	
		
			
				
					
					|  |  |  | @@ -27,7 +28,39 @@ var config = oauth2.Config{ | 
		
	
		
			
				|  |  |  |  | 	Scopes:       []string{"email", "openid", "profile", "user.read"}, | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | var sessionStore = sessions.NewCookieStore([]byte("xDDBjhYwyndZty3exGNq2ahE8wHRCR4DfdCJCSoWXAYncfWw2UQDH63QcJ9CkrGx")) | 
		
	
		
			
				|  |  |  |  | var sessionStore = sessions.NewFilesystemStore("", []byte("xDDBjhYwyndZty3exGNq2ahE8wHRCR4DfdCJCSoWXAYncfWw2UQDH63QcJ9CkrGx")) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func init() { | 
		
	
		
			
				|  |  |  |  | 	// Register the oauth2.Token type with gob | 
		
	
		
			
				|  |  |  |  | 	gob.Register(&oauth2.Token{}) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func main() { | 
		
	
		
			
				|  |  |  |  | 	r := mux.NewRouter() | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/", rootHandler) | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/health", healthHandler) | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/callback", callbackHandler) | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/readiness", readinessHandler) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	srv := &http.Server{ | 
		
	
		
			
				|  |  |  |  | 		Handler:      r, | 
		
	
		
			
				|  |  |  |  | 		Addr:         ":8080", | 
		
	
		
			
				|  |  |  |  | 		ReadTimeout:  10 * time.Second, | 
		
	
		
			
				|  |  |  |  | 		WriteTimeout: 10 * time.Second, | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	// Start Server | 
		
	
		
			
				|  |  |  |  | 	go func() { | 
		
	
		
			
				|  |  |  |  | 		log.Println("Starting Server") | 
		
	
		
			
				|  |  |  |  | 		if err := srv.ListenAndServe(); err != nil { | 
		
	
		
			
				|  |  |  |  | 			log.Fatal(err) | 
		
	
		
			
				|  |  |  |  | 		} | 
		
	
		
			
				|  |  |  |  | 	}() | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	// Graceful Shutdown | 
		
	
		
			
				|  |  |  |  | 	waitForShutdown(srv) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func rootHandler(w http.ResponseWriter, r *http.Request) { | 
		
	
		
			
				|  |  |  |  | 	session, err := sessionStore.Get(r, "spamasaurusRex") | 
		
	
	
		
			
				
					
					|  |  |  | @@ -87,33 +120,6 @@ func readinessHandler(w http.ResponseWriter, r *http.Request) { | 
		
	
		
			
				|  |  |  |  | 	w.WriteHeader(http.StatusOK) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func main() { | 
		
	
		
			
				|  |  |  |  | 	r := mux.NewRouter() | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/", rootHandler) | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/health", healthHandler) | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/callback", callbackHandler) | 
		
	
		
			
				|  |  |  |  | 	r.HandleFunc("/readiness", readinessHandler) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	srv := &http.Server{ | 
		
	
		
			
				|  |  |  |  | 		Handler:      r, | 
		
	
		
			
				|  |  |  |  | 		Addr:         ":8080", | 
		
	
		
			
				|  |  |  |  | 		ReadTimeout:  10 * time.Second, | 
		
	
		
			
				|  |  |  |  | 		WriteTimeout: 10 * time.Second, | 
		
	
		
			
				|  |  |  |  | 	} | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	// Start Server | 
		
	
		
			
				|  |  |  |  | 	go func() { | 
		
	
		
			
				|  |  |  |  | 		log.Println("Starting Server") | 
		
	
		
			
				|  |  |  |  | 		if err := srv.ListenAndServe(); err != nil { | 
		
	
		
			
				|  |  |  |  | 			log.Fatal(err) | 
		
	
		
			
				|  |  |  |  | 		} | 
		
	
		
			
				|  |  |  |  | 	}() | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | 	// Graceful Shutdown | 
		
	
		
			
				|  |  |  |  | 	waitForShutdown(srv) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | func waitForShutdown(srv *http.Server) { | 
		
	
		
			
				|  |  |  |  | 	interruptChan := make(chan os.Signal, 1) | 
		
	
		
			
				|  |  |  |  | 	signal.Notify(interruptChan, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) | 
		
	
	
		
			
				
					
					|  |  |  |   |