some changes
parent
a5cc6d48a4
commit
9f433b07a1
|
@ -7,6 +7,7 @@ import (
|
||||||
"main/tools"
|
"main/tools"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Обработчик главной страницы
|
// Обработчик главной страницы
|
||||||
|
@ -87,11 +88,16 @@ func SendLiminal(w http.ResponseWriter) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Корректно работает с любыми UTF-8 символами!
|
||||||
|
buf := make([]byte, 4) // Максимальный размер руны - 4 байта
|
||||||
for _, char := range text {
|
for _, char := range text {
|
||||||
if _, err := w.Write([]byte{byte(char)}); err != nil {
|
n := utf8.EncodeRune(buf, char) // руну байтами записываем в buf
|
||||||
|
if _, err := w.Write(buf[:n]); err != nil { // [:n] потому что руной заняты только столько байт, сколько вернула EncodeRune
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
flusher.Flush()
|
if flusher != nil {
|
||||||
|
flusher.Flush()
|
||||||
|
}
|
||||||
time.Sleep(50 * time.Millisecond)
|
time.Sleep(50 * time.Millisecond)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue