code: func (p *Provider) Append(router *mux.Router) {
  	router.Methods(http.MethodGet).
  		Path(http01.ChallengePath("{token}")).
  		Handler(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
  			vars := mux.Vars(req)
  
  			ctx := log.With(context.Background(), log.Str(log.ProviderName, "acme"))
  			logger := log.FromContext(ctx)
  
  			if token, ok := vars["token"]; ok {
  				domain, _, err := net.SplitHostPort(req.Host)
  				if err != nil {
  					logger.Debugf("Unable to split host and port: %v. Fallback to request host.", err)
  					domain = req.Host
  				}
  
  				tokenValue := getTokenValue(ctx, token, domain, p.Store)
  				if len(tokenValue) > 0 {
  					rw.WriteHeader(http.StatusOK)
  					_, err = rw.Write(tokenValue)
  					if err != nil {
  						logger.Errorf("Unable to write token: %v", err)
  					}
  					return
  				}
  			}
  			rw.WriteHeader(http.StatusNotFound)
  		}))
  }
docs: // Append adds routes on internal router