gohttp
provides convenience functions for parsing net/http
objects from a source and
serializing them back to byte slices. At the moment, gohttp
is HTTP/1.1-compatible only.
Status: WIP and experimental. If you intend to parse requests from a byte source, use
http.ReadRequest
instead.
ParseRequest
reads a given source and parses an http.Request
instance from it.
conn, err := server.listener.Accept()
// Handle errors, defer closing the connection etc.
conn.setReadDeadline(time.Now().Add(10 * time.Second))
connReader := bufio.NewReader(conn)
request, _ := gohttp.ParseRequest(connReader)
SerializeRequest
converts an http.Request
instance into a byte slice.
conn.setWriteDeadline(time.Now().Add(10 * time.Second))
serializedRequest, _ := gohttp.SerializeRequest(request)
_, _ = conn.Write(serializedRequest)