|
3 | 3 | import requests
|
4 | 4 | from .types import SDKInitHook, BeforeRequestContext, BeforeRequestHook, AfterSuccessContext, AfterSuccessHook, AfterErrorContext, AfterErrorHook, Hooks
|
5 | 5 | from .registration import init_hooks
|
6 |
| -from typing import List, Optional, Tuple, Union |
| 6 | +from typing import List, Optional, Tuple |
7 | 7 |
|
8 | 8 |
|
9 | 9 | class SDKHooks(Hooks):
|
@@ -31,19 +31,21 @@ def sdk_init(self, base_url: str, client: requests.Session) -> Tuple[str, reques
|
31 | 31 | base_url, client = hook.sdk_init(base_url, client)
|
32 | 32 | return base_url, client
|
33 | 33 |
|
34 |
| - def before_request(self, hook_ctx: BeforeRequestContext, request: requests.PreparedRequest) -> Union[requests.PreparedRequest, Exception]: |
| 34 | + def before_request(self, hook_ctx: BeforeRequestContext, request: requests.PreparedRequest) -> requests.PreparedRequest: |
35 | 35 | for hook in self.before_request_hooks:
|
36 |
| - request = hook.before_request(hook_ctx, request) |
37 |
| - if isinstance(request, Exception): |
38 |
| - raise request |
| 36 | + out = hook.before_request(hook_ctx, request) |
| 37 | + if isinstance(out, Exception): |
| 38 | + raise out |
| 39 | + request = out |
39 | 40 |
|
40 | 41 | return request
|
41 | 42 |
|
42 | 43 | def after_success(self, hook_ctx: AfterSuccessContext, response: requests.Response) -> requests.Response:
|
43 | 44 | for hook in self.after_success_hooks:
|
44 |
| - response = hook.after_success(hook_ctx, response) |
45 |
| - if isinstance(response, Exception): |
46 |
| - raise response |
| 45 | + out = hook.after_success(hook_ctx, response) |
| 46 | + if isinstance(out, Exception): |
| 47 | + raise out |
| 48 | + response = out |
47 | 49 | return response
|
48 | 50 |
|
49 | 51 | def after_error(self, hook_ctx: AfterErrorContext, response: Optional[requests.Response], error: Optional[Exception]) -> Tuple[Optional[requests.Response], Optional[Exception]]:
|
|
0 commit comments