code: func (fw *Iboss) getRequest(ctx context.Context, action string, info map[string]string) (*http.Request, error) {
  	req, err := http.NewRequest(
  		"GET",
  		fmt.Sprintf(
  			"http://%s:%s/nacAgent?action=%s&user=%s&dc=%s&key=%s&ip=%s&cn=%s&g=%s",
  			fw.PfconfigHashNS,
  			fw.Port,
  			action,
  			info["username"],
  			fw.NacName,
  			fw.Password,
  			info["ip"],
  			info["username"],
  			info["role"],
  		), bytes.NewBufferString("query=libwww-perl&mode=dist"),
  	)
  	req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
  
  	if err != nil {
  		return nil, err
  	}
  
  	return req, nil
  }
docs: // Build an HTTP request to send to the Iboss firewall
  // This builds the request for start+stop and is controlled by the action parameter
  // This will return an error if the request cannot be built