Bläddra i källkod

Add proxy search interface (#917)

link 2 år sedan
förälder
incheckning
86a3692dad
2 ändrade filer med 19 tillägg och 3 borttagningar
  1. 7 3
      route/v1/other.go
  2. 12 0
      service/other.go

+ 7 - 3
route/v1/other.go

@@ -10,12 +10,16 @@ import (
 )
 
 func GetSearchResult(c *gin.Context) {
-	key := c.Query("key")
-	if key == "" {
+	json := make(map[string]string)
+	c.ShouldBind(&json)
+	url := json["url"]
+
+	if url == "" {
 		c.JSON(common_err.CLIENT_ERROR, model.Result{Success: common_err.INVALID_PARAMS, Message: common_err.GetMsg(common_err.INVALID_PARAMS), Data: "key is empty"})
 		return
 	}
-	data, err := service.MyService.Other().Search(key)
+	//data, err := service.MyService.Other().Search(key)
+	data, err := service.MyService.Other().AgentSearch(url)
 	if err != nil {
 		fmt.Println(err)
 		c.JSON(common_err.SERVICE_ERROR, model.Result{Success: common_err.SERVICE_ERROR, Message: common_err.GetMsg(common_err.SERVICE_ERROR), Data: err.Error()})

+ 12 - 0
service/other.go

@@ -15,6 +15,7 @@ import (
 
 type OtherService interface {
 	Search(key string) ([]model.SearchEngine, error)
+	AgentSearch(url string) ([]byte, error)
 }
 
 type otherService struct{}
@@ -99,6 +100,17 @@ func (s *otherService) Search(key string) ([]model.SearchEngine, error) {
 
 }
 
+func (s *otherService) AgentSearch(url string) ([]byte, error) {
+	client := resty.New()
+	client.SetTimeout(3 * time.Second) // 设置全局超时时间
+	resp, err := client.R().Get(url)
+	if err != nil {
+		logger.Error("Then get search result error: %v", zap.Error(err), zap.String("url", url))
+		return nil, err
+	}
+	return resp.Body(), nil
+}
+
 func NewOtherService() OtherService {
 	return &otherService{}
 }