Skip to content

Commit f331c26

Browse files
authored
Add the json parameter for post requests: (#10)
* Add the json parameter for post requests: The purpose here is to be iso "requests" in order to accept empty json body. Some "black" formatting too. * change flake8 max line length (100 -> 120)
1 parent 530446b commit f331c26

File tree

3 files changed

+35
-20
lines changed

3 files changed

+35
-20
lines changed

flake8

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[flake8]
2-
max-line-length = 100
2+
max-line-length = 120

scrapingbee/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '1.1.7'
1+
__version__ = '1.1.8'

scrapingbee/client.py

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,58 @@
55

66

77
class ScrapingBeeClient:
8-
api_url = 'https://app.scrapingbee.com/api/v1/'
8+
api_url = "https://app.scrapingbee.com/api/v1/"
99

1010
def __init__(self, api_key: str):
1111
self.api_key = api_key
1212

13-
def request(self, method: str, url: str, params: dict = None, data: dict = None,
14-
headers: dict = None, cookies: dict = None, **kwargs
15-
) -> Response:
13+
def request(
14+
self,
15+
method: str,
16+
url: str,
17+
params: dict = None,
18+
data: dict = None,
19+
json: dict = None,
20+
headers: dict = None,
21+
cookies: dict = None,
22+
**kwargs
23+
) -> Response:
1624
if not params:
1725
params = {}
1826

1927
# Process headers and set forward_headers
2028
if headers:
2129
headers = process_headers(headers)
22-
params['forward_headers'] = True
30+
params["forward_headers"] = True
2331
else:
2432
headers = {}
2533
headers.update(default_headers)
2634

2735
# Add cookies to params
2836
if cookies:
2937
# ScrapingBee reads cookies from url parameters
30-
params['cookies'] = cookies
38+
params["cookies"] = cookies
3139

3240
# Get ScrapingBee API URL
33-
spb_url = get_scrapingbee_url(
34-
self.api_url, self.api_key, url, params)
41+
spb_url = get_scrapingbee_url(self.api_url, self.api_key, url, params)
3542

43+
if not data and json is not None:
44+
return request(method, spb_url, json=json, headers=headers, **kwargs)
3645
return request(method, spb_url, data=data, headers=headers, **kwargs)
3746

38-
def get(self, url: str, params: dict = None, headers: dict = None, cookies: dict = None,
39-
**kwargs
40-
) -> Response:
41-
return self.request('GET', url, params=params, headers=headers, cookies=cookies, **kwargs)
42-
43-
def post(self, url: str, params: dict = None, data: dict = None, headers: dict = None,
44-
cookies: dict = None, **kwargs
45-
) -> Response:
46-
return self.request('POST', url, params=params, data=data, headers=headers,
47-
cookies=cookies, **kwargs)
47+
def get(self, url: str, params: dict = None, headers: dict = None, cookies: dict = None, **kwargs) -> Response:
48+
return self.request("GET", url, params=params, headers=headers, cookies=cookies, **kwargs)
49+
50+
def post(
51+
self,
52+
url: str,
53+
params: dict = None,
54+
data: dict = None,
55+
json: dict = None,
56+
headers: dict = None,
57+
cookies: dict = None,
58+
**kwargs
59+
) -> Response:
60+
return self.request(
61+
"POST", url, params=params, data=data, json=json, headers=headers, cookies=cookies, **kwargs
62+
)

0 commit comments

Comments
 (0)