package tcp import ( "encoding/json" "net" ) type Method string const ( MethodGET = "GET" MethodPOST = "POST" MethodPUT = "PUT" MethodDELETE = "DELETE" MethodSOCKET = "SOCKET" ) type RequestHeader struct { Method Method `json:"method"` Route string `json:"route"` } type Request struct { Method Method Route string RemoteAddr string Body []byte } func (self *Request) Header() ([]byte, error) { b, err := json.Marshal(RequestHeader{ Method: self.Method, Route: self.Route, }) if err != nil { return []byte{}, err } return b, nil } func NewRequest(conn net.Conn, header RequestHeader, body []byte) *Request { return &Request{ Method: header.Method, Route: header.Route, RemoteAddr: conn.RemoteAddr().String(), Body: body, } }