The http.Request
object gives us access to every piece of information we might need about the underlying HTTP request, and therefore it is worth glancing through the net/http
documentation to really get a feel for its power. Examples include, but are not limited to:
URL, path and query string
HTTP method
Cookies
Files
Form values
Referrer and user agent of requester
Basic authentication details
Request body
Header information
There are a few things it doesn't address, which we need to either solve ourselves or look to an external package to help us with. URL path parsing is one such example—while we can access a path (such as /people/1/books/2
) as a string via the http.Request
type's URL.Path
field, there is no easy way to pull out the data encoded in the path such as the people ID of 1
, or the books ID of 2
.