基础HTTP服务客户端
项目描述
基础HTTP服务客户端。
默认情况下,它“要求”API端点的成功响应,否则会抛出异常。
Demands接受与requests.request相同的所有参数,并扩展requests.Session类,两者的文档:[Requests开发者接口](http://www.python-requests.org/en/latest/api/)
由Yola团队编写和使用,以支持我们的[免费网站构建器](https://www.yola.com/)
HTTPServiceClient概述
创建服务客户端的基类
为后代提供灵活的http错误处理方式
在意外服务响应时抛出HTTPServiceError
支持发送前和发送后钩子
用法
from demands import HTTPServiceClient
class MyService(HTTPServiceClient):
def get_user(self, user_id):
return self.get('/users/%s/' % user_id).json()
def safe_get_user(self, user_id, default_user):
response = self.get(
'/users/%s/' % user_id,
expected_response_codes=[404])
return response.json() if response.is_ok else default_user
service = MyService(url='https:///')
user = service.get_user(1234)
传递给构造函数的任何参数也将用于每个请求
service = MyService(
url='https:///',
headers={'h1':'value'},
auth=('username','pass'),
)
# sent with auth and both headers
user = service.get('/some-path', headers={'h2': 'kittens'})
测试
安装开发需求
pip install -r requirements.txt
使用以下命令运行测试
nosetests
API文档
要生成文档
cd docs && PYTHONPATH=.. make singlehtml