HTTP client
Project description
cdumay-rest-client
This library is a basic REST client with exception formatting.
Quickstart
First, install cdumay-rest-client using pip:
$ pip install cdumay-rest-client
Next, add a RESTClient instance to your code:
import json, sys
from cdumay_rest_client.client import RESTClient
client = RESTClient(server="http://jsonplaceholder.typicode.com")
json.dump(
client.do_request(method="GET", path="/posts/1"),
sys.stdout,
sort_keys=True,
indent=4,
separators=(',', ': ')
)
Result:
{
"body": "quia et suscipit\nsuscipit recusandae [...]",
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"userId": 1
}
Exception
You can use marshmallow to serialize exceptions:
import json, sys
from cdumay_rest_client.client import RESTClient
from cdumay_http_client.exceptions import HTTPException, HTTPExceptionValidator
try:
client = RESTClient(server="http://jsonplaceholder.typicode.com")
data = client.do_request(method="GET", path="/me")
except HTTPException as exc:
data = HTTPExceptionValidator().dump(exc).data
json.dump(data, sys.stdout, sort_keys=True, indent=4, separators=(',', ': '))
Result:
{
"code": 404,
"extra": {},
"message": "Not Found"
}
License
Licensed under Apache License 2.0 or https://opensource.org/licenses/Apache-2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cdumay-rest-client-0.2.6.tar.gz
.
File metadata
- Download URL: cdumay-rest-client-0.2.6.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b35ac66ffcf7dddd1489a63387516c47fd02ad111ed30e8ed329828b48979182 |
|
MD5 | 711ba6fa283198051443e4c48fde8ea7 |
|
BLAKE2b-256 | db350d3bc76a89a138486c27b72b97ecf1069abc370b4aac26dbe93d12e8830f |