Пример #1
0
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
}