feat: error response
This commit is contained in:
@ -57,6 +57,18 @@ 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)
|
||||
|
||||
|
@ -35,6 +35,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
|
||||
}
|
||||
|
||||
@ -49,4 +50,3 @@ func (r *Router) Handle(conn net.Conn) error {
|
||||
}
|
||||
return errors.New("Not Found")
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user