WIP: Node. New generation #1

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

View File

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

View File

@ -114,11 +114,16 @@ func (es ESConf) GetEchoMessageHashes(echo string) []string {
}
defer resp.Body.Close()
var esr ESSearchResp
err = json.NewDecoder(resp.Body).Decode(&esr)
content, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Error(err.Error())
hashes = append(hashes, "error: Internal error")
return hashes
}
var esr ESSearchResp
err = json.Unmarshal(content, &esr)
if err != nil {
b, _ := ioutil.ReadAll(resp.Body)
log.Error(string(b))
log.Error(err.Error())
hashes = append(hashes, "error: Internal error")
return hashes
@ -325,7 +330,7 @@ func (es ESConf) GetUEchoMessageHashes(echoes string) []string {
// Some20SimbolsHash333
for k, v := range eh {
echohashes = append(echohashes, k)
if k == "" {
if k == "" || k == "\n" {
continue
}
for _, e := range v {
@ -336,7 +341,7 @@ func (es ESConf) GetUEchoMessageHashes(echoes string) []string {
}
}
return echohashes
return addNewLineToLastWord(echohashes)
}
// GetXC implements /x/c
@ -497,6 +502,7 @@ func (es ESConf) GetThreads(pageNum int, echoes ...string) (posts []i2es.ESDoc)
from := 30 * pageNum
rangeStr = fmt.Sprintf(`"from":"now-%dd","to":"now-%dd"`, from, to)
}
log.Debug(rangeStr)
query := `{"sort":[{"date":{"order":"desc"}}],"aggs":{"topics":{"terms":{"field":"topicid.keyword","size":100},"aggs":{"post":{"top_hits":{"size":1,"sort":[{"date":{"order":"desc"}}],"_source":{"include": ["subg","author","date","echo","topicid","address", "repto"]}}}}}},"query":{"bool":{"must":[{"range":{"date":{` + rangeStr + `}}},{"constant_score":{"filter":{"terms":{"echo.keyword": [` +

View File

@ -11,6 +11,16 @@ import (
"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 {
hash, err := bcrypt.GenerateFromPassword(authString, bcrypt.MinCost)
if err != nil {