func (m *requestHandlerContext) makeCreateIndexRequest(defn common.IndexDefn, host string) bool { id, err := common.NewIndexDefnId() if err != nil { logging.Debugf("requestHandler.makeCreateIndexRequest(): fail to generate index definition id %v", err) return false } defn.DefnId = id // deferred build for restore defn.Deferred = true req := IndexRequest{Version: uint64(1), Type: CREATE, Index: defn} body, err := json.Marshal(&req) if err != nil { logging.Debugf("requestHandler.makeCreateIndexRequest(): cannot marshall create index request %v", err) return false } bodybuf := bytes.NewBuffer(body) resp, err := postWithAuth(host+"/createIndex", "application/json", bodybuf) if err != nil { logging.Debugf("requestHandler.makeCreateIndexRequest(): create index request fails %v", err) return false } response := new(IndexResponse) status := convertResponse(resp, response) if status == RESP_ERROR || response.Code == RESP_ERROR { logging.Debugf("requestHandler.makeCreateIndexRequest(): create index request fails") return false } return true }