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())) }
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) } }