feat: inspect data format of ping-pong route + return json!

This commit is contained in:
2025-04-18 14:50:27 +02:00
parent 3f9fdff782
commit 27ea758538

46
main.go
View File

@ -1,6 +1,7 @@
package main package main
import ( import (
"encoding/json"
"fmt" "fmt"
"log" "log"
"net" "net"
@ -15,15 +16,32 @@ import (
) )
func PingPongRoute(req *hsp.Request) *hsp.Response { func PingPongRoute(req *hsp.Request) *hsp.Response {
log.Println("Ping pong request:", req) log.Println("Ping pong request:", req.GetRawPacket())
df, err := req.GetDataFormat()
if err != nil {
return hsp.NewErrorResponse(err)
}
log.Println("Data format of the request:", df)
text, err := req.ExtractText() text, err := req.ExtractText()
if err != nil { if err != nil {
return hsp.NewStatusResponse(hsp.STATUS_INTERNALERR) return hsp.NewErrorResponse(err)
} }
log.Println("Received text from req:", text) log.Println("Received text from req:", text)
return hsp.NewStatusResponse(hsp.STATUS_SUCCESS) // return hsp.NewStatusResponse(hsp.STATUS_SUCCESS)
res, err := hsp.NewJsonResponse(map[string]any{
"success": true,
"message": text,
})
if err != nil {
return hsp.NewErrorResponse(err)
}
return res
} }
func FileUploadRoute(req *hsp.Request) *hsp.Response { func FileUploadRoute(req *hsp.Request) *hsp.Response {
@ -49,8 +67,12 @@ func FileUploadRoute(req *hsp.Request) *hsp.Response {
} }
func main() { func main() {
srv := server.NewServer("localhost:3000") addr, err := hsp.ParseAddress("127.0.0.1")
fmt.Printf("Server created on address: %s\n", srv.Addr) if err != nil {
panic(err)
}
srv := server.NewServer(*addr)
fmt.Printf("Server created on address: %s\n", srv.Addr.String())
handler := make(chan net.Conn, 1) handler := make(chan net.Conn, 1)
@ -85,16 +107,22 @@ func main() {
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
go func() { go func() {
time.Sleep(2 * time.Second) time.Sleep(3 * time.Second)
c := client.NewClient() c := client.NewClient()
rsp, err := c.SendText("localhost:3000/ping-pong", "Hello, guys!") rsp, err := c.SendText("localhost/ping-pong", "Hello, guys!")
if err != nil { if err != nil {
log.Fatalf("Failed to received response from ping-pong: %s\n", err) log.Fatalf("[CLIENT] Failed to received response from ping-pong: %s\n", err)
} }
log.Println("[CLIENT] received response from remote server:", rsp) log.Println("[CLIENT] received response from remote server:", rsp)
bts, err := json.Marshal(rsp)
if err != nil {
log.Fatalln("[CLIENT] Failed to serialize response from server")
}
log.Println("[CLIENT] Serialized response from server:", string(bts))
}() }()
if err := srv.Start(); err != nil { if err := srv.Start(); err != nil {
log.Fatalln("Failed to start server") log.Fatalln("Failed to start server:", err)
} }
} }