一個基本的HTTP服務客戶端:Demands
一個基本的HTTP服務客戶端。
By default it "demands" successful responses from API endpoints, otherwise it raises an exception.
Demands accepts all the same parameters asrequests.requestand extends therequests.Sessionclass, documentation for both: Requests Developer Interface.
Written and used by the folks at Yola to support our free website builder.
HTTPServiceClient Overview
- base class for creating service clients
- provides flexible way of http error handling for descendants
-
HTTPServiceErrorraised on unexpected service response
</li> -
Supports pre-send and post-send hooks
</li> </ul>Usage
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='http://localhost/') user = service.get_user(1234)</pre></h2>
Any parameters passed to the constructor will also be used for each and every request:
service = MyService( url='http://localhost/', headers={'h1':'value'}, auth=('username','pass'), ) # sent with auth and both headers user = service.get('/some-path', headers={'h2': 'kittens'})
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!