github.com/EngineerKamesh/gofullstack@v0.0.0-20180609171605-d41341d7d4ee/volume4/section2/gopherface/handlers/profile.go (about)

     1  package handlers
     2  
     3  import (
     4  	"log"
     5  	"net/http"
     6  
     7  	"github.com/EngineerKamesh/gofullstack/volume4/section2/gopherface/common"
     8  	"github.com/gorilla/mux"
     9  	"go.isomorphicgo.org/go/isokit"
    10  )
    11  
    12  func ProfileHandler(env *common.Env) http.HandlerFunc {
    13  	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    14  
    15  		vars := mux.Vars(r)
    16  		username := vars["username"]
    17  
    18  		u, err := env.DB.GetGopherProfile(username)
    19  		if err != nil {
    20  			log.Print(err)
    21  		}
    22  
    23  		u.PageTitle = u.Username
    24  		env.TemplateSet.Render("gopherprofile_page", &isokit.RenderParams{Writer: w, Data: u})
    25  
    26  	})
    27  }