fix: correct import + ping pong route
This commit is contained in:
36
main.go
36
main.go
@ -7,27 +7,42 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/LandaMm/hsp-go/server"
|
"github.com/LandaMm/hsp-go/hsp"
|
||||||
|
"github.com/LandaMm/hsp-go/hsp/client"
|
||||||
|
"github.com/LandaMm/hsp-go/hsp/server"
|
||||||
)
|
)
|
||||||
|
|
||||||
func FileUploadRoute(req *server.Request) *server.Response {
|
func PingPongRoute(req *hsp.Request) *hsp.Response {
|
||||||
|
log.Println("Ping pong request:", req)
|
||||||
|
text, err := req.ExtractText()
|
||||||
|
if err != nil {
|
||||||
|
return hsp.NewStatusResponse(hsp.STATUS_INTERNALERR)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Println("Received text from req:", text)
|
||||||
|
|
||||||
|
return hsp.NewStatusResponse(hsp.STATUS_SUCCESS)
|
||||||
|
}
|
||||||
|
|
||||||
|
func FileUploadRoute(req *hsp.Request) *hsp.Response {
|
||||||
log.Println("[MAIN] File Upload request:", req)
|
log.Println("[MAIN] File Upload request:", req)
|
||||||
bytes, err := req.ExtractBytes()
|
bytes, err := req.ExtractBytes()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return server.NewStatusResponse(server.STATUS_INTERNALERR)
|
return hsp.NewStatusResponse(hsp.STATUS_INTERNALERR)
|
||||||
}
|
}
|
||||||
|
|
||||||
filename := "received.bin"
|
filename := "received.bin"
|
||||||
err = os.WriteFile(filename, bytes, 0644)
|
err = os.WriteFile(filename, bytes, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln("Failed to write packet payload into a file:", err)
|
log.Fatalln("Failed to write packet payload into a file:", err)
|
||||||
return server.NewStatusResponse(server.STATUS_INTERNALERR)
|
return hsp.NewStatusResponse(hsp.STATUS_INTERNALERR)
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Received new request from client:", req.Conn().RemoteAddr().String())
|
log.Println("Received new request from client:", req.Conn().RemoteAddr().String())
|
||||||
|
|
||||||
res := server.NewTextResponse("Hello, World!")
|
res := hsp.NewTextResponse("Hello, World!")
|
||||||
res.AddHeader("filename", filename)
|
res.AddHeader("filename", filename)
|
||||||
|
|
||||||
return res
|
return res
|
||||||
@ -42,6 +57,7 @@ func main() {
|
|||||||
router := server.NewRouter()
|
router := server.NewRouter()
|
||||||
|
|
||||||
router.AddRoute("/file-upload", FileUploadRoute)
|
router.AddRoute("/file-upload", FileUploadRoute)
|
||||||
|
router.AddRoute("/ping-pong", PingPongRoute)
|
||||||
|
|
||||||
srv.SetListener(handler)
|
srv.SetListener(handler)
|
||||||
|
|
||||||
@ -68,6 +84,16 @@ func main() {
|
|||||||
|
|
||||||
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
|
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
time.Sleep(2 * time.Second)
|
||||||
|
c := client.NewClient()
|
||||||
|
rsp, err := c.SendText("localhost:3000/ping-pong", "Hello, guys!")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("Failed to received response from ping-pong: %s\n", err)
|
||||||
|
}
|
||||||
|
log.Println("[CLIENT] received response from remote server:", rsp)
|
||||||
|
}()
|
||||||
|
|
||||||
if err := srv.Start(); err != nil {
|
if err := srv.Start(); err != nil {
|
||||||
log.Fatalln("Failed to start server")
|
log.Fatalln("Failed to start server")
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user