HTTP Servers
Route Matching
A server chooses handler logic by matching the request path.
Route Matching
route_matching.go
package main
import "fmt"
type request struct {
Path string
}
func handlerName(path string) string {
if path == "/health" {
return "healthHandler"
}
if path == "/users" {
return "usersHandler"
}
return "notFoundHandler"
}
func main() {
var path =
req := request{Path: path}
handler := handlerName(req.Path)
fmt.Println("path=", req.Path)
fmt.Println("handler=", handler)
fmt.Println("matched=", handler != "notFoundHandler")
}
package main
import "fmt"
type request struct {
Path string
}
func handlerName(path string) string {
if path == "/health" {
return "healthHandler"
}
if path == "/users" {
return "usersHandler"
}
return "notFoundHandler"
}
func main() {
var path =
req := request{Path: path}
handler := handlerName(req.Path)
fmt.Println("path=", req.Path)
fmt.Println("handler=", handler)
fmt.Println("matched=", handler != "notFoundHandler")
}
package main
import "fmt"
type request struct {
Path string
}
func handlerName(path string) string {
if path == "/health" {
return "healthHandler"
}
if path == "/users" {
return "usersHandler"
}
return "notFoundHandler"
}
func main() {
var path =
req := request{Path: path}
handler := handlerName(req.Path)
fmt.Println("path=", req.Path)
fmt.Println("handler=", handler)
fmt.Println("matched=", handler != "notFoundHandler")
}
route
A route maps a request path to the code that should build the response.