code: func (router Router) CreateRequest(name string, params Params, body io.Reader) (*http.Request, error) {
  	route, ok := router.routes[name]
  	if !ok {
  		return &http.Request{}, fmt.Errorf("no route exists with the name %s", name)
  	}
  
  	uri, err := route.CreatePath(params)
  	if err != nil {
  		return &http.Request{}, err
  	}
  
  	resource, ok := router.resources[route.Resource]
  	if !ok {
  		return &http.Request{}, fmt.Errorf("no resource exists with the name %s", route.Resource)
  	}
  
  	url, err := router.urlFrom(resource, uri)
  	if err != nil {
  		return &http.Request{}, err
  	}
  
  	return http.NewRequest(route.Method, url, body)
  }
docs: // CreateRequest returns a request key'd off of the name given. The params are
  // merged into the URL and body is set as the request body.