Skip to content

Commit 2015e2a

Browse files
committed
fix: don't double-encode
1 parent 202be62 commit 2015e2a

File tree

3 files changed

+5
-8
lines changed

3 files changed

+5
-8
lines changed

pystac_client/item_search.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,9 @@ def _clean_params_for_get_request(self) -> Dict[str, Any]:
328328
if "collections" in params:
329329
params["collections"] = ",".join(params["collections"])
330330
if "intersects" in params:
331-
params["intersects"] = json.dumps(params["intersects"])
331+
params["intersects"] = json.dumps(
332+
params["intersects"], separators=(",", ":")
333+
)
332334
if "query" in params:
333335
params["query"] = json.dumps(params["query"], separators=(",", ":"))
334336
if "sortby" in params:

pystac_client/stac_api_io.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import re
44
from copy import deepcopy
55
from typing import TYPE_CHECKING, Any, Callable, Dict, Iterator, List, Optional, Union
6-
from urllib.parse import quote_plus, urlparse
6+
from urllib.parse import urlparse
77

88
import pystac
99
from pystac.link import Link
@@ -154,10 +154,6 @@ def request(
154154
request = Request(method=method, url=href, headers=headers, json=parameters)
155155
else:
156156
params = deepcopy(parameters) or {}
157-
if "intersects" in params:
158-
params["intersects"] = json.dumps(params["intersects"])
159-
if "query" in params:
160-
params["query"] = quote_plus(params["query"])
161157
request = Request(method="GET", url=href, headers=headers, params=params)
162158
try:
163159
modified = self._req_modifier(request) if self._req_modifier else None

tests/test_item_search.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -623,8 +623,7 @@ def __geo_interface__(self) -> Dict[str, Any]:
623623
def test_get_with_query(self, requests_mock: Mocker) -> None:
624624
requests_mock.get(
625625
(
626-
f"{SEARCH_URL}?query=%257B%2522eo%253Acloud_cover"
627-
"%2522%253A%257B%2522gte%2522%253A0%252C%2522lte%2522%253A10%257D%257D"
626+
f"{SEARCH_URL}?query=%7B%22eo%3Acloud_cover%22%3A%7B%22gte%22%3A0%2C%22lte%22%3A10%7D%7D"
628627
),
629628
status_code=200,
630629
json={"features": [{"foo": "bar"}], "links": []},

0 commit comments

Comments
 (0)