I'm trying to use a simple method that will take the request and parse the parameters but it returns the wrong number of parameters.
In my main I make a request and then call:
fmt.Println(parseParams(r, "http://localhost:8080", 2))
which leads to following values being set in the method when logged:
url: /api/users
params: [ api users]
len(params): 3
So it seems as if it think there's one extra param that I don't specify and looking at it more closely I can see theres a space before api in the params but I don't know where that comes from
func parseParams(req *http.Request, prefix string, num int) ([]string, error) {
url := strings.TrimPrefix(req.URL.Path, prefix)
params := strings.Split(url, "/")
if len(params) != num || len(params[0]) == 0 || len(params[1]) == 0 {
return nil, fmt.Errorf("Bad format. Expecting exactly %d params", num)
}
return params, nil
}