Book Image

Go Programming Blueprints

By : Mat Ryer
Book Image

Go Programming Blueprints

By: Mat Ryer

Overview of this book

Table of Contents (17 chapters)
Go Programming Blueprints
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Understanding the request


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.

Note

A few projects do a good job of addressing this problem, such as Goweb or Gorillz's mux package. They let you map path patterns that contain placeholders for values...