8000 api accepts url params and additional keyword args for requests module · hertzdog/wc-api-python@f1bee0d · GitHub
[go: up one dir, main page]

Skip to content

Commit f1bee0d

Browse files
committed
api accepts url params and additional keyword args for requests module
Currently the url params that are sent to Woo-Commerce are a closed box. They should be exposed outside of the function. Additionally, there are cases where a developer needs to pass additional parameters to the requests library. These should also be exposed outside of the function. This pull request simply achieves these things.
1 parent bffe8d7 commit f1bee0d

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

woocommerce/api.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,12 @@ def __get_oauth_url(self, url, method):
5757

5858
return oauth.get_oauth_url()
5959

60-
def __request(self, method, endpoint, data):
60+
def __request(self, method, endpoint, data, params: dict=None, **kwargs):
6161
""" Do requests """
62+
if params is None:
63+
params = {}
6264
url = self.__get_url(endpoint)
6365
auth = None
64-
params = {}
6566
headers = {
6667
"user-agent": "WooCommerce API Client-Python/%s" % __version__,
6768
"accept": & 8000 quot;application/json"
@@ -70,10 +71,10 @@ def __request(self, method, endpoint, data):
7071
if self.is_ssl is True and self.query_string_auth is False:
7172
auth = (self.consumer_key, self.consumer_secret)
7273
elif self.is_ssl is True and self.query_string_auth is True:
73-
params = {
74+
params.update({
7475
"consumer_key": self.consumer_key,
7576
"consumer_secret": self.consumer_secret
76-
}
77+
})
7778
else:
7879
url = self.__get_oauth_url(url, method)
7980

@@ -89,25 +90,26 @@ def __request(self, method, endpoint, data):
8990
params=params,
9091
data=data,
9192
timeout=self.timeout,
92-
headers=headers
93+
headers=headers,
94+
**kwargs
9395
)
9496

95-
d D859 ef get(self, endpoint):
97+
def get(self, endpoint, **kwargs):
9698
""" Get requests """
97-
return self.__request("GET", endpoint, None)
99+
return self.__request("GET", endpoint, None, **kwargs)
98100

99-
def post(self, endpoint, data):
101+
def post(self, endpoint, data, **kwargs):
100102
""" POST requests """
101-
return self.__request("POST", endpoint, data)
103+
return self.__request("POST", endpoint, data, **kwargs)
102104

103-
def put(self, endpoint, data):
105+
def put(self, endpoint, data, **kwargs):
104106
""" PUT requests """
105-
return self.__request("PUT", endpoint, data)
107+
return self.__request("PUT", endpoint, data, **kwargs)
106108

107-
def delete(self, endpoint):
109+
def delete(self, endpoint, **kwargs):
108110
""" DELETE requests """
109-
return self.__request("DELETE", endpoint, None)
111+
return self.__request("DELETE", endpoint, None, **kwargs)
110112

111-
def options(self, endpoint):
113+
def options(self, endpoint, **kwargs):
112114
""" OPTIONS requests """
113-
return self.__request("OPTIONS", endpoint, None)
115+
return self.__request("OPTIONS", endpoint, None, **kwargs)

0 commit comments

Comments
 (0)
0