Merge pull request #828 from honux/master

Fixed a bug on router/path

Former-commit-id: 80f58dd112aa8d13b703f847b91063ca2c504432
This commit is contained in:
Gerasimos (Makis) Maropoulos 2017-12-04 04:59:15 +02:00 committed by GitHub
commit 27097df7b4
2 changed files with 10 additions and 14 deletions

View File

@ -209,12 +209,13 @@ func (ps *RoutePathReverser) Path(routeName string, paramValues ...interface{})
return r.ResolvePath(toStringSlice(paramValues)...)
}
func toStringSlice(args []interface{}) []string {
var argsString []string
if len(args) > 0 {
argsString = make([]string, len(args), len(args))
func toStringSlice(args []interface{}) (argsString []string) {
argsSize := len(args)
if argsSize <= 0 {
return
}
argsString = make([]string, argsSize, argsSize)
for i, v := range args {
if s, ok := v.(string); ok {
argsString[i] = s
@ -229,7 +230,7 @@ func toStringSlice(args []interface{}) []string {
}
}
}
return argsString
return
}
// Remove the URL for now, it complicates things for the whole framework without a specific benefits,
@ -246,21 +247,16 @@ func (ps *RoutePathReverser) URL(routeName string, paramValues ...interface{}) (
return
}
if len(paramValues) == 0 {
return r.Path
}
args := toStringSlice(paramValues)
host := ps.vhost
scheme := ps.vscheme
args := toStringSlice(paramValues)
// if it's dynamic subdomain then the first argument is the subdomain part
// for this part we are responsible not the custom routers
if r.Subdomain == SubdomainWildcardIndicator {
if len(args) > 0 && r.Subdomain == SubdomainWildcardIndicator {
subdomain := args[0]
host = subdomain + "." + host
args = args[1:] // remove the subdomain part for the arguments,
}
if parsedPath := r.ResolvePath(args...); parsedPath != "" {

View File

@ -213,7 +213,7 @@ func (s *AmberEngine) ExecuteWriter(w io.Writer, filename string, layout string,
}
if tmpl := s.fromCache(filename); tmpl != nil {
return tmpl.ExecuteTemplate(w, filename, bindingData)
return tmpl.Execute(w, bindingData)
}
return fmt.Errorf("Template with name %s doesn't exists in the dir", filename)