Pārlūkot izejas kodu

Decrypt search results

Achilleas Koutsou 6 gadi atpakaļ
vecāks
revīzija
d16feb1033
1 mainītis faili ar 11 papildinājumiem un 2 dzēšanām
  1. 11 2
      routes/search.go

+ 11 - 2
routes/search.go

@@ -106,6 +106,7 @@ func search(c *context.Context, keywords string, sType int) ([]byte, error) {
 		return nil, err
 	}
 
+	// encrypt query
 	encdata, err := libgin.EncryptString(key, string(data))
 	if err != nil {
 		log.Error(2, "Failed to encrypt search data for gin-dex: %v", err)
@@ -123,12 +124,20 @@ func search(c *context.Context, keywords string, sType int) ([]byte, error) {
 		log.Error(2, "Failed to send request to gin-dex: %v", err)
 		return nil, err
 	}
-	data, err = ioutil.ReadAll(resp.Body)
+
+	encrespdata, err := ioutil.ReadAll(resp.Body) // response is encrypted
 	if err != nil {
 		log.Error(2, "Failed to read response body from gin-dex: %v", err)
 		return nil, err
 	}
-	return data, nil
+
+	// decrypt response
+	respdata, err := libgin.DecryptString(key, string(encrespdata))
+	if err != nil {
+		log.Error(2, "Failed to decrypt response body form gin-dex: %v", err)
+	}
+
+	return []byte(respdata), nil
 }
 
 // ExploreData handles the search box served at /explore/data