Merge branch 'main' of github.com:LandaMm/hsp-go

This commit is contained in:
2025-04-18 13:46:25 +02:00
4 changed files with 27 additions and 14 deletions

BIN
hsp-go

Binary file not shown.

View File

@ -87,12 +87,28 @@ func NewJsonResponse(data map[string]string) (*Response, error) {
}, nil
}
func NewErrorResponse(err error) *Response {
return &Response{
StatusCode: STATUS_INTERNALERR,
Format: DataFormat{
Format: DF_TEXT,
Encoding: E_UTF8,
},
Headers: map[string]string{},
Payload: []byte(err.Error()),
}
}
func (res *Response) ToPacket() *Packet {
headers := make(map[string]string)
maps.Copy(headers, res.Headers)
if res.Format.Format == DF_BYTES {
headers[H_DATA_FORMAT] = DF_BYTES
} else {
headers[H_DATA_FORMAT] = fmt.Sprintf("%s:%s", res.Format.Format, res.Format.Encoding)
}
headers[H_STATUS] = strconv.Itoa(res.StatusCode)
return BuildPacket(headers, res.Payload)
@ -117,4 +133,3 @@ func (res *Response) Write(p []byte) (int, error) {
return n, err
}

View File

@ -37,6 +37,7 @@ func (r *Router) Handle(conn net.Conn) error {
// TODO: Ability to keep connection alive
packet, err := dupl.ReadPacket()
if err != nil {
dupl.WritePacket(NewErrorResponse(err).ToPacket())
return err
}
@ -51,4 +52,3 @@ func (r *Router) Handle(conn net.Conn) error {
}
return errors.New("Not Found")
}

View File

@ -1,2 +0,0 @@
Hello, everyone!
I'm a txt file