From 109a69a53e75a7efd61ea665d1dcfce8309aba6a Mon Sep 17 00:00:00 2001 From: Douglas Coburn Date: Tue, 18 Mar 2025 17:15:06 -0700 Subject: [PATCH 1/3] Make the path URL safe --- socketdev/core/api.py | 2 ++ socketdev/version.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/socketdev/core/api.py b/socketdev/core/api.py index f2ecc9d..c384dbe 100644 --- a/socketdev/core/api.py +++ b/socketdev/core/api.py @@ -16,6 +16,7 @@ from socketdev.version import __version__ from requests.exceptions import Timeout, ConnectionError import time +import urllib.parse class API: @@ -47,6 +48,7 @@ def do_request( "User-Agent": f"SocketPythonScript/{__version__}", "accept": "application/json", } + path = urllib.parse.quote(path) url = f"{self.api_url}/{path}" def format_headers(headers_dict): diff --git a/socketdev/version.py b/socketdev/version.py index 9d85eb1..2fcc21e 100644 --- a/socketdev/version.py +++ b/socketdev/version.py @@ -1 +1 @@ -__version__ = "2.0.11" +__version__ = "2.0.12" From a96ce2083af5ec0e847d95316776deaaeaa16f6b Mon Sep 17 00:00:00 2001 From: Douglas Coburn Date: Wed, 19 Mar 2025 07:58:01 -0700 Subject: [PATCH 2/3] Updated user agent string and fixed url encoding for full scan api --- socketdev/core/api.py | 4 +--- socketdev/fullscans/__init__.py | 26 +++++--------------------- 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/socketdev/core/api.py b/socketdev/core/api.py index c384dbe..082066d 100644 --- a/socketdev/core/api.py +++ b/socketdev/core/api.py @@ -16,7 +16,6 @@ from socketdev.version import __version__ from requests.exceptions import Timeout, ConnectionError import time -import urllib.parse class API: @@ -45,10 +44,9 @@ def do_request( if headers is None: headers = { "Authorization": f"Basic {self.encoded_key}", - "User-Agent": f"SocketPythonScript/{__version__}", + "User-Agent": f"SocketSDKPython/{__version__}", "accept": "application/json", } - path = urllib.parse.quote(path) url = f"{self.api_url}/{path}" def format_headers(headers_dict): diff --git a/socketdev/fullscans/__init__.py b/socketdev/fullscans/__init__.py index 30b3955..8af1b16 100644 --- a/socketdev/fullscans/__init__.py +++ b/socketdev/fullscans/__init__.py @@ -3,7 +3,7 @@ from enum import Enum from typing import Any, Dict, List, Optional, Union from dataclasses import dataclass, asdict, field - +import urllib.parse from ..utils import IntegrationType, Utils @@ -702,24 +702,10 @@ class FullScans: def __init__(self, api): self.api = api - def create_params_string(self, params: dict) -> str: - param_str = "" - - for name, value in params.items(): - if value: - if name == "committers" and isinstance(value, list): - for committer in value: - param_str += f"&{name}={committer}" - else: - param_str += f"&{name}={value}" - - param_str = "?" + param_str.lstrip("&") - - return param_str def get(self, org_slug: str, params: dict, use_types: bool = False) -> Union[dict, GetFullScanMetadataResponse]: - params_arg = self.create_params_string(params) - path = "orgs/" + org_slug + "/full-scans" + str(params_arg) + params_arg = urllib.parse.urlencode(params) + path = "orgs/" + org_slug + "/full-scans?" + str(params_arg) response = self.api.do_request(path=path) if response.status_code == 200: @@ -741,10 +727,8 @@ def post(self, files: list, params: FullScanParams, use_types: bool = False) -> org_slug = str(params.org_slug) params_dict = params.to_dict() params_dict.pop("org_slug") - - params_arg = self.create_params_string(params_dict) - - path = "orgs/" + org_slug + "/full-scans" + str(params_arg) + params_arg = urllib.parse.urlencode(params_dict) + path = "orgs/" + org_slug + "/full-scans?" + str(params_arg) response = self.api.do_request(path=path, method="POST", files=files) From 2837171f8171c6b0c982a142532f2511fb71a2ed Mon Sep 17 00:00:00 2001 From: Douglas Coburn Date: Wed, 19 Mar 2025 07:58:33 -0700 Subject: [PATCH 3/3] Version bump for deploy --- socketdev/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/socketdev/version.py b/socketdev/version.py index 2fcc21e..0610187 100644 --- a/socketdev/version.py +++ b/socketdev/version.py @@ -1 +1 @@ -__version__ = "2.0.12" +__version__ = "2.0.13"