Exemple #1
0
func (handler *GetAnalyseHandler) ServeHTTP(res http.ResponseWriter, req *http.Request, ps httprouter.Params) {
	var (
		err    error
		cmd    engine.Command
		exists bool
	)

	handler.ProcessVars(ps)
	indexName := handler.GetIndexName()

	if exists, err = handler.search.IndexExists(indexName); exists != true && err == nil {
		response := map[string]string{
			"error": "Index '" + indexName + "' doesn't exists.",
		}

		handler.WriteJSONObject(res, response)
		return
	} else if exists == false && err != nil {
		res.WriteHeader(http.StatusInternalServerError)
		handler.Error(res, err.Error())
		return
	}

	docID := handler.GetDocumentID()

	docIntID, err := strconv.Atoi(docID)

	if err != nil {
		res.WriteHeader(http.StatusBadRequest)
		handler.Error(res, "Invalid document id: "+docID)
		return
	}

	index, err := handler.search.OpenIndex(indexName)

	if err != nil {
		handler.Error(res, err.Error())
		return
	}

	cmd, err = index.GetAnalyze(uint64(docIntID))

	if err != nil {
		res.WriteHeader(http.StatusBadRequest)
		handler.Error(res, err.Error())
		return
	}

	res.Write([]byte(cmd.Reverse()))
}
Exemple #2
0
func compareCommand(cmd engine.Command, expected engine.Command, t *testing.T) {
	if !reflect.DeepEqual(cmd, expected) {
		t.Errorf("Unexpected parsed command: %v !== %v", cmd.Reverse(), expected.Reverse())
		fmt.Printf("%v !== %v\n", cmd, expected)
	}
}