Go Courses Sale
I am able to provide free resources like this and Gophercises by selling premium Go courses. If you have found any of my free resources helpful, please consider checking out the premium courses. They are both 40% off until April 22nd, you'll learn an incredible amount of Go in the process, and it helps me continue to provide free resources like this.
→ Web Development with Go
→ Test with Go
Both courses have lifetime access, a 30-day money back guarantee, and free updates.
Thank you for your continued support and happy coding!
Jon Calhoun
Storing data in a context.Context, or as I refer to it - using context values, is one of the most contentious design patterns in Go. Storing values in a context appears to be fine with everyone, but what specifically should be stored as a context value receives a lot of heated discussion. I’ll be honest - when I started using them I used them in the naive and somewhat inappropriate way that everyone complains about.
This article covers how to use the http.ServeMux provided by Go's standard libary in order to apply middleware to specific path prefixes (eg /dashboard/*) while ensuring the middleware isn't run on other paths.
Jon Calhoun is a full stack web developer who teaches about Go, web development, algorithms, and anything programming. If you haven't already, you should totally check out his Go courses.
Previously, Jon worked at several statups including co-founding EasyPost, a shipping API used by several fortune 500 companies. Prior to that Jon worked at Google, competed at world finals in programming competitions, and has been programming since he was a child.
©2024 Jonathan Calhoun. All rights reserved.