package main

import (
	"fmt"
	"net/http"

	"github.com/gin-gonic/gin"
	"github.com/prometheus/client_golang/prometheus/promhttp"
	"github.com/tidbcloud/tiinf/monitor/titracing"
	"github.com/tidbcloud/tiinf/transport/http/tigin"
)

func main() {
	// Init trace provider
	_, err := titracing.InitJaeger("exmaple")
	if err != nil {
		panic(err)
	}

	// Run metrics server
	go func() {
		http.Handle("/metrics", promhttp.Handler())
		err = http.ListenAndServe(":9090", nil)
		if err != nil {
			panic(err)
		}
	}()

	engine := tigin.Default()
	engine.GET("/hello", func(c *gin.Context) {
		c.String(http.StatusOK, "Hello World")
	})
	engine.GET("/hello/:name", func(c *gin.Context) {
		c.String(http.StatusOK, fmt.Sprintf("Hello %s", c.Param("name")))
	})
	engine.Run() //nolint:errcheck
}
