func SendRequest(u string, method int, sess *napping.Session, pload interface{}, res interface{}) (error, *napping.Response) { // // Send request to server // e := httperr{} var ( err error resp *napping.Response ) sess.Log = debug switch method { case GET: resp, err = sess.Get(u, nil, &res, &e) case POST: resp, err = sess.Post(u, &pload, &res, &e) case PUT: resp, err = sess.Put(u, &pload, &res, &e) case PATCH: resp, err = sess.Patch(u, &pload, &res, &e) case DELETE: resp, err = sess.Delete(u, &res, &e) } if err != nil { return err, resp } if resp.Status() == 401 { return errors.New("unauthorised - check your username and passwd"), resp } if resp.Status() >= 300 { return errors.New(e.Message), resp } else { // all is good in the world return nil, resp } }