In episode 9, Miki discussed how a command flag can be decoded into a user defined type with the
Value interface. As a recap, the
Value interface consists of two methods: one for serializing the underlying concrete type and one for deserializing a string into an object. To put this interface to the test, Miki wrote a command that had a flag to specify a network address. While implementing the
Set method of the
Value interface, Miki demonstrated how to add validation for your program’s flags.
In this video, Miki will build an HTTP server with one endpoint to display the health of his server. The first step he took was to define a HTTP handler to illustrate how a Go handler becomes a
HandlerFunc. Next, Miki will design a function signature for middleware with the goal of abstracting input and output as much as possible. Miki will then define a logging middleware that measures the time of a request. Watch and learn how you can write a HTTP handler that is extendable with middleware.
Things you will learn in this video
- Define a route with Go’s http package.
- The ideal design for a middleware function.
- How to implement an HTTP server with composability in mind.
- Define logging middleware with Go’s STD library.