mirror of
https://github.com/Kyren223/eko.git
synced 2026-07-20 18:41:04 +00:00
feat: client receive request as stdin input
This commit is contained in:
@@ -1,33 +1,54 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/kyren223/eko/internal/utils/log"
|
||||
)
|
||||
|
||||
func Run() {
|
||||
log.SetLevel(log.LevelDebug)
|
||||
log.Info("Client started, waiting for user input...")
|
||||
for {
|
||||
fmt.Print("> ")
|
||||
input, _ := bufio.NewReader(os.Stdin).ReadString('\n')
|
||||
input = strings.TrimSpace(input)
|
||||
if input == ":q" || input == "exit" || input == "quit" {
|
||||
break
|
||||
}
|
||||
log.Debug("Input: %v", input)
|
||||
err := processRequest(input)
|
||||
if err != nil {
|
||||
log.Error("%v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func processRequest(request string) error {
|
||||
conn, err := net.Dial("tcp", ":7223")
|
||||
if err != nil {
|
||||
log.Error("Unable to establish connection with server: %v", err)
|
||||
return
|
||||
return fmt.Errorf("Unable to establish connection with server: %v", err)
|
||||
}
|
||||
defer conn.Close()
|
||||
conn.SetDeadline(time.Now().Add(time.Second))
|
||||
log.Info("Established connection to server: %v", conn.RemoteAddr().String())
|
||||
|
||||
message := "Hello, server!"
|
||||
_, err = conn.Write([]byte(message))
|
||||
_, err = conn.Write([]byte(request))
|
||||
if err != nil {
|
||||
log.Error("Unable to send message: %v", err)
|
||||
return
|
||||
return fmt.Errorf("Unable to send request: %v", err)
|
||||
}
|
||||
|
||||
buffer := make([]byte, 1024)
|
||||
n, err := conn.Read(buffer)
|
||||
if err != nil {
|
||||
log.Error("Unable to read response: %v", err)
|
||||
return
|
||||
return fmt.Errorf("Unable to receive response: %v", err)
|
||||
}
|
||||
|
||||
log.Info("Received from server: %v", string(buffer[:n]))
|
||||
log.Info("Response from server: %v", string(buffer[:n]))
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -21,3 +21,14 @@ func Warn(message string, a ...any) {
|
||||
func Error(message string, a ...any) {
|
||||
_ = logger.Error(message, a...)
|
||||
}
|
||||
|
||||
func SetLevel(level Level) (oldLevel Level) {
|
||||
oldLevel = logger.Level
|
||||
logger.Level = level
|
||||
return
|
||||
}
|
||||
|
||||
func GetLevel() Level {
|
||||
return logger.Level
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user