edri 2025.12.1__tar.gz → 2025.12.1rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. {edri-2025.12.1 → edri-2025.12.1rc1}/PKG-INFO +1 -1
  2. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/manager/manager_base.py +1 -5
  3. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/handlers/http_handler.py +1 -4
  4. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/listener.py +1 -1
  5. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/config/setting.py +4 -8
  6. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/directive/http.py +0 -6
  7. {edri-2025.12.1 → edri-2025.12.1rc1}/edri.egg-info/PKG-INFO +1 -1
  8. {edri-2025.12.1 → edri-2025.12.1rc1}/setup.py +1 -1
  9. {edri-2025.12.1 → edri-2025.12.1rc1}/README.md +0 -0
  10. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/__init__.py +0 -0
  11. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/__init__.py +0 -0
  12. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/manager/__init__.py +0 -0
  13. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/manager/manager_priority_base.py +0 -0
  14. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/manager/worker.py +0 -0
  15. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/worker/__init__.py +0 -0
  16. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/worker/worker.py +0 -0
  17. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/worker/worker_process.py +0 -0
  18. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/abstract/worker/worker_thread.py +0 -0
  19. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/__init__.py +0 -0
  20. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/broker.py +0 -0
  21. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/dataclass/__init__.py +0 -0
  22. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/dataclass/api_event.py +0 -0
  23. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/dataclass/client.py +0 -0
  24. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/dataclass/file.py +0 -0
  25. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/extensions/__init__.py +0 -0
  26. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/extensions/url_extension.py +0 -0
  27. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/extensions/url_prefix.py +0 -0
  28. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/handlers/__init__.py +0 -0
  29. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/handlers/base_handler.py +0 -0
  30. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/handlers/html_handler.py +0 -0
  31. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/handlers/rest_handler.py +0 -0
  32. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/handlers/websocket_handler.py +0 -0
  33. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/middleware.py +0 -0
  34. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/static_pages/documentation.j2 +0 -0
  35. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/static_pages/health_check_status.j2 +0 -0
  36. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/static_pages/status_300.j2 +0 -0
  37. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/static_pages/status_400.j2 +0 -0
  38. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/api/static_pages/status_500.j2 +0 -0
  39. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/config/__init__.py +0 -0
  40. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/config/constant.py +0 -0
  41. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/__init__.py +0 -0
  42. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/directive/__init__.py +0 -0
  43. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/directive/base.py +0 -0
  44. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/directive/html.py +0 -0
  45. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/event.py +0 -0
  46. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/health_checker.py +0 -0
  47. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/injection.py +0 -0
  48. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/dataclass/response.py +0 -0
  49. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/__init__.py +0 -0
  50. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/__init__.py +0 -0
  51. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/client/__init__.py +0 -0
  52. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/client/documentation.py +0 -0
  53. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/client/register.py +0 -0
  54. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/client/unregister.py +0 -0
  55. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/group/__init__.py +0 -0
  56. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/group/client.py +0 -0
  57. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/group/manage.py +0 -0
  58. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/manage/__init__.py +0 -0
  59. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/manage/list_registered.py +0 -0
  60. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/manage/register.py +0 -0
  61. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/manage/unregister.py +0 -0
  62. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/api/manage/unregister_all.py +0 -0
  63. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/__init__.py +0 -0
  64. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/__init__.py +0 -0
  65. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/manager.py +0 -0
  66. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/router.py +0 -0
  67. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/scheduler.py +0 -0
  68. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/store.py +0 -0
  69. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/switch.py +0 -0
  70. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/group/test.py +0 -0
  71. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/manager/__init__.py +0 -0
  72. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/manager/restart.py +0 -0
  73. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/manager/stream_close.py +0 -0
  74. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/manager/stream_create.py +0 -0
  75. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/manager/stream_message.py +0 -0
  76. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/manager/worker_quit.py +0 -0
  77. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/__init__.py +0 -0
  78. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/demands.py +0 -0
  79. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/health_check.py +0 -0
  80. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/last_events.py +0 -0
  81. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/send_from.py +0 -0
  82. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/subscribe.py +0 -0
  83. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/subscribe_connector.py +0 -0
  84. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/subscribed_external.py +0 -0
  85. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/subscribed_new.py +0 -0
  86. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/unsubscribe.py +0 -0
  87. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/router/unsubscribe_all.py +0 -0
  88. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/scheduler/__init__.py +0 -0
  89. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/scheduler/cancel.py +0 -0
  90. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/scheduler/set.py +0 -0
  91. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/scheduler/set_or_update.py +0 -0
  92. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/scheduler/update.py +0 -0
  93. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/store/__init__.py +0 -0
  94. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/store/delete.py +0 -0
  95. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/store/get.py +0 -0
  96. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/store/get_callback.py +0 -0
  97. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/events/edri/store/set.py +0 -0
  98. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/__init__.py +0 -0
  99. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/cache.py +0 -0
  100. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/connector/__init__.py +0 -0
  101. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/connector/connector.py +0 -0
  102. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/connector/socket.py +0 -0
  103. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/health_checker.py +0 -0
  104. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/router/router.py +0 -0
  105. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/switch/__init__.py +0 -0
  106. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/switch/connection.py +0 -0
  107. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/switch/forwarder.py +0 -0
  108. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/switch/receiver.py +0 -0
  109. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/switch/sender.py +0 -0
  110. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/switch/switch.py +0 -0
  111. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/__init__.py +0 -0
  112. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/cache.py +0 -0
  113. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/function.py +0 -0
  114. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/json_encoder.py +0 -0
  115. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/manager/__init__.py +0 -0
  116. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/manager/scheduler.py +0 -0
  117. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/manager/store.py +0 -0
  118. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/normalized_default_dict.py +0 -0
  119. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/queue.py +0 -0
  120. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/shared_memory_pipe.py +0 -0
  121. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/storage.py +0 -0
  122. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/transformation.py +0 -0
  123. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/validation.py +0 -0
  124. {edri-2025.12.1 → edri-2025.12.1rc1}/edri/utility/watcher.py +0 -0
  125. {edri-2025.12.1 → edri-2025.12.1rc1}/edri.egg-info/SOURCES.txt +0 -0
  126. {edri-2025.12.1 → edri-2025.12.1rc1}/edri.egg-info/dependency_links.txt +0 -0
  127. {edri-2025.12.1 → edri-2025.12.1rc1}/edri.egg-info/requires.txt +0 -0
  128. {edri-2025.12.1 → edri-2025.12.1rc1}/edri.egg-info/top_level.txt +0 -0
  129. {edri-2025.12.1 → edri-2025.12.1rc1}/setup.cfg +0 -0
  130. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/__init__.py +0 -0
  131. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/abstract/__init__.py +0 -0
  132. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/abstract/manager/__init__.py +0 -0
  133. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/abstract/manager/test_manager_base.py +0 -0
  134. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/abstract/manager/test_manager_base_priority.py +0 -0
  135. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/abstract/worker/__init__.py +0 -0
  136. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/abstract/worker/test_worker.py +0 -0
  137. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/api/__init__.py +0 -0
  138. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/api/handlers/__init__.py +0 -0
  139. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/api/handlers/test_base_handler.py +0 -0
  140. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/api/handlers/test_html_handler.py +0 -0
  141. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/api/handlers/test_http_handler.py +0 -0
  142. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/api/test_broker.py +0 -0
  143. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/dataclass/__init__.py +0 -0
  144. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/dataclass/event/__init__.py +0 -0
  145. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/dataclass/event/test_event.py +0 -0
  146. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/dataclass/event/test_event_init.py +0 -0
  147. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/dataclass/event/test_response.py +0 -0
  148. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/events/__init__.py +0 -0
  149. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/events/test/__init__.py +0 -0
  150. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/events/test/event_request.py +0 -0
  151. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/events/test/ping.py +0 -0
  152. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/events/test/ping2.py +0 -0
  153. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/router/__init__.py +0 -0
  154. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/router/test_cache.py +0 -0
  155. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/router/test_health_checker.py +0 -0
  156. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/router/test_router.py +0 -0
  157. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/test_edri_init.py +0 -0
  158. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/__init__.py +0 -0
  159. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/manager/__init__.py +0 -0
  160. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/manager/test_scheduler.py +0 -0
  161. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/manager/test_store.py +0 -0
  162. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_function.py +0 -0
  163. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_json_encoder.py +0 -0
  164. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_normalized_default_dict.py +0 -0
  165. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_shared_memory_pipe.py +0 -0
  166. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_storage.py +0 -0
  167. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_transformation.py +0 -0
  168. {edri-2025.12.1 → edri-2025.12.1rc1}/tests/utility/test_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edri
3
- Version: 2025.12.1
3
+ Version: 2025.12.1rc1
4
4
  Summary: Event Driven Routing Infrastructure
5
5
  Author: Marek Olšan
6
6
  Author-email: marek.olsan@gmail.com
@@ -17,7 +17,7 @@ from typing import Optional, Type, Tuple, Callable, Union, TypeVar, Never, get_a
17
17
  from edri.abstract.manager.worker import Worker
18
18
  from edri.abstract.worker import WorkerProcess
19
19
  from edri.api.dataclass.api_event import api_events
20
- from edri.config.setting import API_CACHE_CONTROL, API_CACHE_HEADERS
20
+ from edri.config.setting import API_CACHE_CONTROL
21
21
  from edri.dataclass.directive.http import NotModifiedResponseDirective, HeaderResponseDirective
22
22
  from edri.dataclass.event import Event
23
23
  from edri.dataclass.health_checker import Status
@@ -127,9 +127,6 @@ class ManagerBase(ABC, Process, metaclass=ManagerBaseMeta):
127
127
  self._store_get: Optional[Callable] = None
128
128
  self._exceptions: list[tuple[str, dict, Exception, str]] = []
129
129
  self._cache: Cache
130
- self._cache_vary = "Accept,Accept-Encoding"
131
- if API_CACHE_HEADERS:
132
- self._cache_vary += f",{API_CACHE_HEADERS}"
133
130
 
134
131
  def _subscribe(self) -> None:
135
132
  """
@@ -648,7 +645,6 @@ class ManagerBase(ABC, Process, metaclass=ManagerBaseMeta):
648
645
  else:
649
646
  event.response.add_directive(HeaderResponseDirective(name="ETag", value=etag))
650
647
  event.response.add_directive(HeaderResponseDirective(name="Cache-Control", value=API_CACHE_CONTROL))
651
- event.response.add_directive(HeaderResponseDirective(name="Vary", value=self._cache_vary))
652
648
  self.router_queue.put(event)
653
649
 
654
650
  def get_pipes(self) -> set[Connection]:
@@ -32,7 +32,7 @@ from edri.dataclass.directive.base import InternalServerErrorResponseDirective,
32
32
  from edri.dataclass.directive.http import CookieResponseDirective, AccessDeniedResponseDirective, \
33
33
  NotFoundResponseDirective, \
34
34
  ConflictResponseDirective, HeaderResponseDirective, UnprocessableContentResponseDirective, \
35
- BadRequestResponseDirective, NotModifiedResponseDirective, ServiceUnavailableResponseDirective
35
+ BadRequestResponseDirective, NotModifiedResponseDirective
36
36
  from edri.dataclass.event import Event
37
37
  from edri.dataclass.injection import Injection
38
38
  from edri.utility import NormalizedDefaultDict
@@ -276,9 +276,6 @@ class HTTPHandler[T: HTTPResponseDirective](BaseHandler, ABC):
276
276
  },
277
277
  NotModifiedResponseDirective: {
278
278
  "status": HTTPStatus.NOT_MODIFIED,
279
- },
280
- ServiceUnavailableResponseDirective: {
281
- "status": HTTPStatus.SERVICE_UNAVAILABLE,
282
279
  }
283
280
  }
284
281
 
@@ -147,7 +147,7 @@ class Listener(Process):
147
147
  if isinstance(handler, HTMLHandler):
148
148
  if await handler.response_assets(scope["path"]):
149
149
  return
150
- self.logger.warning("Unknown url %s", scope["path"])
150
+ self.logger.debug("Unknown url %s", scope["path"])
151
151
  await handler.response_error(HTTPStatus.NOT_FOUND, {
152
152
  "reasons": [{
153
153
  "status_code": HTTPStatus.NOT_FOUND,
@@ -15,18 +15,11 @@ ENVIRONMENT: Literal["development", "production"] = "production" if getenv("ENVI
15
15
 
16
16
  HEALTH_CHECK_TIMEOUT = int(getenv("EDRI_HEALTH_CHECK_TIMEOUT", 10))
17
17
  HEALTH_CHECK_FAILURE_LIMIT = int(getenv("EDRI_HEALTH_CHECK_FAILURE_LIMIT", 3))
18
-
19
- CORS_ORIGINS = getenv("EDRI_CORS_ORIGINS")
20
- CORS_HEADERS = getenv("EDRI_CORS_HEADERS")
21
- CORS_CREDENTIALS = bool(getenv("EDRI_CORS_CREDENTIALS", False))
22
- CORS_MAX_AGE = getenv("EDRI_CORS_MAX_AGE", None)
23
-
24
18
  TIMEZONE = timezone(getenv("EDRI_TIMEZONE", "UTC"))
25
19
  API_RESPONSE_TIMEOUT = int(getenv("EDRI_API_RESPONSE_TIMEOUT", 60))
26
20
  API_RESPONSE_WRAPPED = getenv_bool("EDRI_API_RESPONSE_WRAPPED", True)
27
21
  API_RESPONSE_TIMING = getenv_bool("EDRI_API_RESPONSE_TIMING", ENVIRONMENT == 'development')
28
22
  API_CACHE_CONTROL = getenv("EDRI_API_CACHE_CONTROL", "max-age=0, must-revalidate")
29
- API_CACHE_HEADERS = getenv("EDRI_API_CACHE_HEADERS", CORS_HEADERS)
30
23
 
31
24
  SWITCH_KEY_LENGTH = int(getenv("EDRI_SWITCH_KEY_LENGTH ", 8))
32
25
  SWITCH_HOST = getenv("EDRI_SWITCH_HOST", "localhost")
@@ -48,4 +41,7 @@ ASSETS_PATH = getenv("EDRI_ASSETS_PATH", "assets")
48
41
  MAX_BODY_SIZE = int(getenv("EDRI_MAX_BODY_SIZE", 4096 * 1024))
49
42
  CHUNK_SIZE = int(getenv("EDRI_CHUNK_SIZE", 256 * 1024))
50
43
 
51
-
44
+ CORS_ORIGINS = getenv("EDRI_CORS_ORIGINS")
45
+ CORS_HEADERS = getenv("EDRI_CORS_HEADERS")
46
+ CORS_CREDENTIALS = bool(getenv("EDRI_CORS_CREDENTIALS", False))
47
+ CORS_MAX_AGE = getenv("EDRI_CORS_MAX_AGE", None)
@@ -66,12 +66,6 @@ class UnprocessableContentResponseDirective(HTTPResponseDirective):
66
66
  class BadRequestResponseDirective(HTTPResponseDirective):
67
67
  message: str | None = None
68
68
 
69
-
70
69
  @dataclass
71
70
  class NotModifiedResponseDirective(HTTPResponseDirective):
72
71
  pass
73
-
74
-
75
- @dataclass
76
- class ServiceUnavailableResponseDirective(HTTPResponseDirective):
77
- message: str | None = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edri
3
- Version: 2025.12.1
3
+ Version: 2025.12.1rc1
4
4
  Summary: Event Driven Routing Infrastructure
5
5
  Author: Marek Olšan
6
6
  Author-email: marek.olsan@gmail.com
@@ -122,7 +122,7 @@ Whether you're building a real-time data processing system, a distributed servic
122
122
 
123
123
  setup(
124
124
  name='edri',
125
- version='2025.12.01',
125
+ version='2025.12.01rc1',
126
126
  packages=find_packages(),
127
127
  description='Event Driven Routing Infrastructure',
128
128
  long_description=long_description,
File without changes
File without changes
File without changes
File without changes
File without changes