Check-in [72453b0947]
Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | faux: move params= to .get |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
72453b0947b2dafce9b9ae17fc165c6e |
User & Date: | mario 2022-10-23 05:51:10 |
Context
2022-10-23
| ||
05:51 | rough privacy judgement check-in: ad382edca0 user: mario tags: trunk | |
05:51 | faux: move params= to .get check-in: 72453b0947 user: mario tags: trunk | |
2022-10-22
| ||
22:17 | compact via fixture check-in: 00e5bb6299 user: mario tags: trunk | |
Changes
Changes to pythonpath/httprequests.py.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # encoding: utf-8 # api: python ##type: classes # category: http # title: request/fallback # description: loads requests, or similuates API via urllib # version: 0.7 # state: beta # depends: python:requests (>= 2.5) # config: - # pylint: disable=invalid-name, missing-function-docstring, missing-module-docstring # # Wraps requests or fakes a http.get() implementation. # | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # encoding: utf-8 # api: python ##type: classes # category: http # title: request/fallback # description: loads requests, or similuates API via urllib # version: 0.7 # state: beta # license: CC-0 # depends: python:requests (>= 2.5) # config: - # pylint: disable=invalid-name, missing-function-docstring, missing-module-docstring # # Wraps requests or fakes a http.get() implementation. # |
︙ | ︙ | |||
67 68 69 70 71 72 73 | if not hasattr(ssl, "create_default_context"): return context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE self.ssl_args["context"] = context | | > > | | | | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | if not hasattr(ssl, "create_default_context"): return context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE self.ssl_args["context"] = context def get(self, url, params={}, **kwargs): """ urlopen """ kwargs["headers"] = dict( list(self.headers.items()) + list(kwargs.get("headers", {}).items()) ) if params: url = url + "?&"[url.find("?")>0] + urlencode(params) return FauxResponse( urlopen( Request(url, **kwargs), **self.ssl_args ) ) def post(self, url, data=None, json=None, **kwargs): """ POST just adds data= """ if json: data = dumps(json).encode("utf-8") elif data and isinstance(data, dict): data = urlencode(data).encode("utf-8") return self.get(url, data=data, **kwargs) try: import requests http = requests.Session() except ImportError: |
︙ | ︙ |
Changes to test/httpfaux.py.
1 2 3 4 5 6 7 8 9 10 11 12 13 | import pytest from httprequests import FauxRequests @pytest.fixture(scope="module") def http(): return FauxRequests() def get(http): resp = http.get("https://example.org/") assert resp.status_code == 200 assert resp.headers def post(http): | > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import pytest from httprequests import FauxRequests @pytest.fixture(scope="module") def http(): return FauxRequests() def get(http): resp = http.get("https://example.org/") assert resp.status_code == 200 assert resp.headers def params(http): resp = http.get("https://httpbin.org/get", params={"key":"val"}) assert resp.json()["args"]["key"] == "val" def post(http): resp = http.post("https://httpbin.org/post", data={"a":"b", "c":"d"}) assert resp.json()["form"]["a"] == "b" def json(http): resp = http.get("https://httpbin.org/json") assert resp.json() |