Most Go HTTP tutorials drop you straight into middleware without explaining the foundation. You copy the code, it works, but you have no idea why.
This series fixes that.
In part 1 we start with Go types — what they are, how function types work, and why a plain function can suddenly have a method attached to it. It's a short read, but it's the piece most tutorials skip and the reason middleware feels like magic to beginners.
In part 2 we use that foundation to build three real middleware functions from scratch: a request ID generator, a structured logger, and an auth checker. We chain them together, test them with curl, and cover the gotchas that trip up almost everyone.
By the end you won't just have working middleware — you'll understand every line of it.
Who this is for: Go beginners who want to understand the HTTP middleware pattern properly, and developers coming from Node, Python, or Java who are used to frameworks doing this magic for them.
What you need: Basic Go familiarity — structs and functions. That's it.