0
私たちのサービスの1つと話すための残りのAPIクライアントを作成しようとしています。すべてのリクエストには、エポック時間、リクエスト動詞、データ、パスなどの妥協の必要なオーソライゼーションヘッダを含める必要があります。自動的にヘッダをPythonリクエストリクエストに追加する
私はpythonリクエストモジュールを可能な限りシームレスに使用しようとしていますが、すべての要求にヘッダーを挿入します。
リクエストに「フック」という概念があるようですが、現在は「応答」フックしかありません。
セッションオブジェクトを拡張し、 "send"メソッドをオーバーライドし、ヘッダーを追加してから、それをsuper(Session.send)メソッドに渡すことを検討していました。それはOOPと継承に来るとき
マイPythonは素晴らしいではありませんが、これは私は私はあなたが既に上書きしているので、あなたは、send
メソッドをオーバーライドする必要はありません推測
class MySession(Session):
def __init__(self, access_id=None, access_key=None):
self.access_id = access_id
self.access_key = access_key
super(MySession, self).__init__()
def send(self, request, **kwargs):
method = request.method
path = urlparse(request.url).path
request.headers['Authorization'] = self.__create_security_header(method, path)
request.headers['Content-Type'] = "application/json"
return Session.send(self, request, **kwargs)
ただし、リクエストごとに新しいヘッダーが作成されますか?ヘッダーはメソッド、uriなどのハッシュであるため、要求が送信される直前に生成する必要があります。 –