Example #1
0
 public void FocusToListOfWorker(object sender, KeyEventArgs e)
 {
     if (Key.Down == e.Key)
     {
         SimilarWords.Focus();
     }
 }
            public override String ToString()
            {
                String similarWords   = CollectionHelper.CommaSeparatedList(SimilarWords.Take(3).Select(s => s.Word));
                String fileReferences = CollectionHelper.CommaSeparatedList(FileReferences.Take(3));

                return
                    ($"{Word} (occurred {Count}x) ({SimilarWords.Count}x similar: {similarWords}, ..) @ ({FileReferences.Count}x referenced: {fileReferences}, ..)");
            }
    public IEnumerator SimilarWordAPI(string word, int topn, Action <SimilarWords> callback)
    {
        using (var request = new UnityWebRequest(this.similarWordUrl, "POST"))
        {
            Debug.Log($"Request {word} for {topn}");
            PostData postData = new PostData();
            postData.word = word;
            postData.topn = topn;
            string postJson = PostData.Serialize(postData);
            byte[] byteData = System.Text.Encoding.UTF8.GetBytes(postJson);

            request.uploadHandler   = (UploadHandler) new UploadHandlerRaw(byteData);
            request.downloadHandler = (DownloadHandler) new DownloadHandlerBuffer();
            request.SetRequestHeader("accept", "application/json");
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("X-API-KEY", this.secretJson.secret);
            yield return(request.SendWebRequest());

            if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
            {
                Debug.Log("Error POST request");
                Debug.Log(request.error);
            }
            else
            {
                Debug.Log($"status code [{request.responseCode}]");
                if (request.responseCode == 200)
                {
                    Debug.Log("POST request succeeded");
                    string       json         = request.downloadHandler.text;
                    SimilarWords similarWords = SimilarWords.Deserialize(json);
                    callback(similarWords);
                }
                else
                {
                    Debug.Log("POST request failed");
                }
            }
        }
    }
    public static string Serialize(SimilarWords model)
    {
        string json = JsonUtility.ToJson(model);

        return(json);
    }
    public static SimilarWords Deserialize(string json)
    {
        SimilarWords model = JsonUtility.FromJson <SimilarWords>(json);

        return(model);
    }