Documentation
¶
Overview ¶
Package httprouter provides functions to trace the julienschmidt/httprouter package (https://github.com/julienschmidt/httprouter).
Example ¶
package main
import (
"fmt"
"log"
"net/http"
"github.com/julienschmidt/httprouter"
httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/julienschmidt/httprouter"
)
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
fmt.Fprint(w, "Welcome!\n")
}
func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name"))
}
func main() {
router := httptrace.New()
router.GET("/", Index)
router.GET("/hello/:name", Hello)
log.Fatal(http.ListenAndServe(":8080", router))
}
Example (WithServiceName) ¶
package main
import (
"fmt"
"log"
"net/http"
"github.com/julienschmidt/httprouter"
httptrace "gopkg.in/DataDog/dd-trace-go.v1/contrib/julienschmidt/httprouter"
)
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
fmt.Fprint(w, "Welcome!\n")
}
func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name"))
}
func main() {
router := httptrace.New(httptrace.WithServiceName("http.router"))
router.GET("/", Index)
router.GET("/hello/:name", Hello)
log.Fatal(http.ListenAndServe(":8080", router))
}
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Router ¶
type Router struct {
*httprouter.Router
// contains filtered or unexported fields
}
Router is a traced version of httprouter.Router.
type RouterOption ¶
type RouterOption func(*routerConfig)
RouterOption represents an option that can be passed to New.
func WithServiceName ¶
func WithServiceName(name string) RouterOption
WithServiceName sets the given service name for the returned router.
Click to show internal directories.
Click to hide internal directories.