package handlers

import (
	"net/http"

	"github.com/gin-gonic/gin"
	"github.com/pingcap-inc/clinic/clinic_data_service/pkg/config"

	"github.com/pingcap-inc/clinic/clinic_data_service/pkg/utils"
)

func O11yQueryProxy(c *gin.Context) {
	
	bodyBytes, err := c.GetRawData()
	if err != nil {
		c.JSON(http.StatusBadRequest, gin.H{"error": "invalid body"})
		return
	}
	host := config.AppConfig.QueryProxy.Host
	path := config.AppConfig.QueryProxy.Path
	cfg := utils.NewHttpConfig(host, path, http.MethodPost, map[string]string{"Content-Type": "application/json"}, utils.BodyJson(string(bodyBytes)))
	ctx := c.Request.Context()
		
	resp, err := utils.HttpRequest(ctx, *cfg)
	if err != nil {
		c.JSON(http.StatusBadGateway, gin.H{"error": err.Error()})
		return
	}
	c.Data(http.StatusOK, "application/json", []byte(resp))

}
