From 85c1a1b36591ff2152fa51d54d6551606ab836fe Mon Sep 17 00:00:00 2001 From: Erno Date: Sun, 19 Oct 2025 10:03:53 +0000 Subject: [PATCH] fix(kp): url-escape keyword and imdbId in Kinopoisk requests to avoid 502 --- pkg/services/kinopoisk.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/services/kinopoisk.go b/pkg/services/kinopoisk.go index 10e0cc3..d1e3fbe 100644 --- a/pkg/services/kinopoisk.go +++ b/pkg/services/kinopoisk.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "net/http" + "net/url" "strconv" "time" ) @@ -139,7 +140,7 @@ func (s *KinopoiskService) GetFilmByKinopoiskId(id int) (*KPFilm, error) { } func (s *KinopoiskService) GetFilmByImdbId(imdbId string) (*KPFilm, error) { - endpoint := fmt.Sprintf("%s/v2.2/films?imdbId=%s", s.baseURL, imdbId) + endpoint := fmt.Sprintf("%s/v2.2/films?imdbId=%s", s.baseURL, url.QueryEscape(imdbId)) var response struct { Films []KPFilm `json:"items"` @@ -158,7 +159,7 @@ func (s *KinopoiskService) GetFilmByImdbId(imdbId string) (*KPFilm, error) { } func (s *KinopoiskService) SearchFilms(keyword string, page int) (*KPSearchResponse, error) { - endpoint := fmt.Sprintf("%s/v2.1/films/search-by-keyword?keyword=%s&page=%d", s.baseURL, keyword, page) + endpoint := fmt.Sprintf("%s/v2.1/films/search-by-keyword?keyword=%s&page=%d", s.baseURL, url.QueryEscape(keyword), page) var response KPSearchResponse err := s.makeRequest(endpoint, &response) return &response, err