This library is a basic REST client with exception formatting.
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
}
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"
}
Licensed under BSD 3-Clause License or https://opensource.org/licenses/BSD-3-Clause.