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

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