Skip to content

Commit 40ea43d

Browse files
committed
cache http_v2_enabled
1 parent b06cb67 commit 40ea43d

File tree

1 file changed

+10
-5
lines changed
  • azure-functions-extension-base/azure/functions/extension/base

1 file changed

+10
-5
lines changed

azure-functions-extension-base/azure/functions/extension/base/web.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
from abc import abstractmethod
22
from enum import Enum
33
import inspect
4-
from typing import Callable
4+
from typing import Callable, Optional
55

6-
base_extension_module = __name__
6+
BASE_EXTENSION_MODULE = __name__
7+
8+
9+
class Cache:
10+
_http_v2_enabled: Optional[bool] = None
711

812

9-
# Base extension pkg
1013
class ModuleTrackerMeta(type):
1114
_module = None
1215

1316
def __new__(cls, name, bases, dct, **kwargs):
1417
new_class = super().__new__(cls, name, bases, dct)
1518
new_module = dct.get('__module__')
16-
if new_module != base_extension_module:
19+
if new_module != BASE_EXTENSION_MODULE:
1720
if cls._module is None:
1821
cls._module = new_module
1922
elif cls._module != new_module:
@@ -117,7 +120,9 @@ async def serve(self):
117120

118121

119122
def http_v2_enabled() -> bool:
120-
return ModuleTrackerMeta.module_imported()
123+
if Cache._http_v2_enabled is None:
124+
Cache._http_v2_enabled = ModuleTrackerMeta.module_imported()
125+
return Cache._http_v2_enabled
121126

122127

123128
class ResponseLabels(Enum):

0 commit comments

Comments
 (0)