|
5 | 5 | Instrumentation for Starlette
|
6 | 6 | https://www.starlette.io/
|
7 | 7 | """
|
| 8 | + |
| 9 | +from typing import Any, Callable, Dict, Tuple |
| 10 | + |
| 11 | +import starlette.applications |
| 12 | + |
8 | 13 | try:
|
9 | 14 | import starlette
|
10 | 15 | import wrapt
|
11 |
| - from ..log import logger |
12 |
| - from .asgi import InstanaASGIMiddleware |
13 | 16 | from starlette.middleware import Middleware
|
14 | 17 |
|
15 |
| - @wrapt.patch_function_wrapper('starlette.applications', 'Starlette.__init__') |
16 |
| - def init_with_instana(wrapped, instance, args, kwargs): |
17 |
| - middleware = kwargs.get('middleware') |
| 18 | + from instana.instrumentation.asgi import InstanaASGIMiddleware |
| 19 | + from instana.log import logger |
| 20 | + |
| 21 | + @wrapt.patch_function_wrapper("starlette.applications", "Starlette.__init__") |
| 22 | + def init_with_instana( |
| 23 | + wrapped: Callable[..., starlette.applications.Starlette.__init__], |
| 24 | + instance: starlette.applications.Starlette, |
| 25 | + args: Tuple, |
| 26 | + kwargs: Dict[str, Any], |
| 27 | + ) -> None: |
| 28 | + middleware = kwargs.get("middleware") |
18 | 29 | if middleware is None:
|
19 |
| - kwargs['middleware'] = [Middleware(InstanaASGIMiddleware)] |
| 30 | + kwargs["middleware"] = [Middleware(InstanaASGIMiddleware)] |
20 | 31 | elif isinstance(middleware, list):
|
21 | 32 | middleware.append(Middleware(InstanaASGIMiddleware))
|
22 | 33 |
|
|
0 commit comments