WIP: Node. New generation #1

Draft
Difrex wants to merge 18 commits from ssr into master
3 changed files with 21 additions and 15 deletions
Showing only changes of commit 1bb5416393 - Show all commits

View File

@ -81,13 +81,8 @@ func (es ESConf) UEHandler(w http.ResponseWriter, r *http.Request) {
LogRequest(r) LogRequest(r)
ch := make(chan []string)
// Get echolist // Get echolist
go func() { messages := es.GetUEchoMessageHashes(e)
ch <- es.GetUEchoMessageHashes(e)
}()
messages := <-ch
w.WriteHeader(200) w.WriteHeader(200)
w.Write([]byte(strings.Join(messages, "\n"))) w.Write([]byte(strings.Join(messages, "\n")))

View File

@ -110,17 +110,18 @@ func (es ESConf) GetEchoMessageHashes(echo string) []string {
log.Error(err.Error()) log.Error(err.Error())
return hashes return hashes
} }
defer resp.Body.Close() defer resp.Body.Close()
content, _ := ioutil.ReadAll(resp.Body) content, err := ioutil.ReadAll(resp.Body)
log.Info(string(content)) if err != nil {
log.Error(err.Error())
hashes = append(hashes, "error: Internal error")
return hashes
}
var esr ESSearchResp var esr ESSearchResp
err = json.NewDecoder(resp.Body).Decode(&esr) err = json.Unmarshal(content, &esr)
if err != nil { if err != nil {
b, _ := ioutil.ReadAll(resp.Body)
log.Error(string(b))
log.Error(err.Error()) log.Error(err.Error())
hashes = append(hashes, "error: Internal error") hashes = append(hashes, "error: Internal error")
return hashes return hashes
@ -297,7 +298,7 @@ func (es ESConf) GetUEchoMessageHashes(echoes string) []string {
// Some20SimbolsHash333 // Some20SimbolsHash333
for k, v := range eh { for k, v := range eh {
echohashes = append(echohashes, k) echohashes = append(echohashes, k)
if k == "" { if k == "" || k == "\n" {
continue continue
} }
for _, e := range v { for _, e := range v {
@ -308,7 +309,7 @@ func (es ESConf) GetUEchoMessageHashes(echoes string) []string {
} }
} }
return echohashes return addNewLineToLastWord(echohashes)
} }
// GetXC implements /x/c // GetXC implements /x/c

View File

@ -11,6 +11,16 @@ import (
"golang.org/x/crypto/bcrypt" "golang.org/x/crypto/bcrypt"
) )
func addNewLineToLastWord(slice []string) []string {
l := len(slice) - 1
word := slice[l]
if strings.Contains(word, "\n") {
return slice
}
slice[l] = word + "\n"
return slice
}
func hashAndSalt(authString []byte) string { func hashAndSalt(authString []byte) string {
hash, err := bcrypt.GenerateFromPassword(authString, bcrypt.MinCost) hash, err := bcrypt.GenerateFromPassword(authString, bcrypt.MinCost)
if err != nil { if err != nil {