experiments

All kinds of coding experiments
Log | Files | Refs | Submodules

cookie.go (592B)


      1 package main
      2 
      3 import (
      4 	"log"
      5 	"net/http"
      6 )
      7 
      8 func handler(w http.ResponseWriter, r *http.Request) {
      9 	token := r.Header.Get("token")
     10 	if token != "" {
     11 		log.Println(token)
     12 		if token == "correctPP" {
     13 			w.Write([]byte("success w/ token"))
     14 		} else {
     15 			w.WriteHeader(401)
     16 			w.Write([]byte("fail"))
     17 		}
     18 		return
     19 	}
     20 	c, err := r.Cookie("token")
     21 	if err != nil || c.Value != "correctPP" {
     22 		log.Println(c.Value)
     23 		w.WriteHeader(401)
     24 		w.Write([]byte("fail"))
     25 		return
     26 	}
     27 	w.Write([]byte("success"))
     28 }
     29 
     30 func main() {
     31 	http.HandleFunc("/", handler)
     32 	log.Fatal(http.ListenAndServe(":8080", nil))
     33 }