clear-skies 1.18.7__tar.gz → 1.18.8__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.

Potentially problematic release.


This version of clear-skies might be problematic. Click here for more details.

Files changed (194) hide show
  1. {clear_skies-1.18.7 → clear_skies-1.18.8}/PKG-INFO +1 -1
  2. {clear_skies-1.18.7 → clear_skies-1.18.8}/pyproject.toml +1 -1
  3. clear_skies-1.18.8/src/clearskies/column_types/created_by_authorization_data.py +26 -0
  4. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/simple_routing_route.py +24 -1
  5. clear_skies-1.18.7/src/clearskies/column_types/created_by_authorization_data.py +0 -21
  6. {clear_skies-1.18.7 → clear_skies-1.18.8}/LICENSE +0 -0
  7. {clear_skies-1.18.7 → clear_skies-1.18.8}/README.md +0 -0
  8. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/__init__.py +0 -0
  9. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/application.py +0 -0
  10. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/__init__.py +0 -0
  11. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/auth0_jwks.py +0 -0
  12. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/auth_exception.py +0 -0
  13. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/authorization.py +0 -0
  14. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/jwks.py +0 -0
  15. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/public.py +0 -0
  16. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/authentication/secret_bearer.py +0 -0
  17. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/__init__.py +0 -0
  18. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/__init__.py +0 -0
  19. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/__init__.py +0 -0
  20. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py +0 -0
  21. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py +0 -0
  22. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/parameter.py +0 -0
  23. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/request.py +0 -0
  24. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/response.py +0 -0
  25. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/schema/__init__.py +0 -0
  26. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/schema/array.py +0 -0
  27. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/schema/default.py +0 -0
  28. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py +0 -0
  29. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/schema/object.py +0 -0
  30. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/formats/oai3_json/test.json +0 -0
  31. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/request/__init__.py +0 -0
  32. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/request/header.py +0 -0
  33. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/request/json_body.py +0 -0
  34. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/request/request.py +0 -0
  35. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/request/url_parameter.py +0 -0
  36. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/request/url_path.py +0 -0
  37. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/response/__init__.py +0 -0
  38. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/response/response.py +0 -0
  39. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/__init__.py +0 -0
  40. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/array.py +0 -0
  41. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/base64.py +0 -0
  42. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/boolean.py +0 -0
  43. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/date.py +0 -0
  44. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/datetime.py +0 -0
  45. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/double.py +0 -0
  46. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/enum.py +0 -0
  47. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/integer.py +0 -0
  48. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/long.py +0 -0
  49. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/number.py +0 -0
  50. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/object.py +0 -0
  51. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/password.py +0 -0
  52. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/autodoc/schema/string.py +0 -0
  53. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/__init__.py +0 -0
  54. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/api_backend.py +0 -0
  55. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/backend.py +0 -0
  56. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/cursor_backend.py +0 -0
  57. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/example_backend.py +0 -0
  58. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/file_backend.py +0 -0
  59. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/json_backend.py +0 -0
  60. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/memory_backend.py +0 -0
  61. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/restful_api_advanced_search_backend.py +0 -0
  62. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/backends/secrets_backend.py +0 -0
  63. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/binding_config.py +0 -0
  64. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/__init__.py +0 -0
  65. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/audit.py +0 -0
  66. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/belongs_to.py +0 -0
  67. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/boolean.py +0 -0
  68. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/category_tree.py +0 -0
  69. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/column.py +0 -0
  70. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/created.py +0 -0
  71. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/created_by_ip.py +0 -0
  72. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/created_by_user_agent.py +0 -0
  73. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/datetime.py +0 -0
  74. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/email.py +0 -0
  75. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/float.py +0 -0
  76. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/has_many.py +0 -0
  77. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/integer.py +0 -0
  78. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/json.py +0 -0
  79. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/many_to_many.py +0 -0
  80. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/many_to_many_with_data.py +0 -0
  81. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/select.py +0 -0
  82. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/string.py +0 -0
  83. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/updated.py +0 -0
  84. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/column_types/uuid.py +0 -0
  85. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/columns.py +0 -0
  86. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/condition_parser.py +0 -0
  87. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/__init__.py +0 -0
  88. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/bash.py +0 -0
  89. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/build_context.py +0 -0
  90. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/cli.py +0 -0
  91. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/context.py +0 -0
  92. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/convert_to_application.py +0 -0
  93. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/extract_handler.py +0 -0
  94. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/test.py +0 -0
  95. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/contexts/wsgi.py +0 -0
  96. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/__init__.py +0 -0
  97. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/auth0_jwks.py +0 -0
  98. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/authorization.py +0 -0
  99. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/binding_classes.py +0 -0
  100. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/binding_modules.py +0 -0
  101. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/bindings.py +0 -0
  102. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/create.py +0 -0
  103. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/delete.py +0 -0
  104. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/docs.py +0 -0
  105. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/get.py +0 -0
  106. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/jwks.py +0 -0
  107. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/merge.py +0 -0
  108. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/patch.py +0 -0
  109. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/post.py +0 -0
  110. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/public.py +0 -0
  111. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/response_headers.py +0 -0
  112. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/return_raw_response.py +0 -0
  113. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/schema.py +0 -0
  114. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/secret_bearer.py +0 -0
  115. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/decorators/security_headers.py +0 -0
  116. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/__init__.py +0 -0
  117. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/additional_config.py +0 -0
  118. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/additional_config_auto_import.py +0 -0
  119. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/di.py +0 -0
  120. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/standard_dependencies.py +0 -0
  121. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/test_module/__init__.py +0 -0
  122. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/test_module/another_module/__init__.py +0 -0
  123. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/di/test_module/module_class.py +0 -0
  124. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/environment.py +0 -0
  125. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/functional/__init__.py +0 -0
  126. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/functional/string.py +0 -0
  127. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/functional/validations.py +0 -0
  128. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/__init__.py +0 -0
  129. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/advanced_search.py +0 -0
  130. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/base.py +0 -0
  131. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/callable.py +0 -0
  132. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/create.py +0 -0
  133. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/crud_by_method.py +0 -0
  134. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/database_connector.py +0 -0
  135. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/delete.py +0 -0
  136. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/exceptions/__init__.py +0 -0
  137. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/exceptions/authentication.py +0 -0
  138. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/exceptions/authorization.py +0 -0
  139. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/exceptions/client_error.py +0 -0
  140. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/exceptions/input_error.py +0 -0
  141. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/exceptions/not_found.py +0 -0
  142. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/get.py +0 -0
  143. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/health_check.py +0 -0
  144. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/input_processing.py +0 -0
  145. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/list.py +0 -0
  146. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/mygrations.py +0 -0
  147. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/request_method_routing.py +0 -0
  148. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/restful_api.py +0 -0
  149. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/routing.py +0 -0
  150. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/schema_helper.py +0 -0
  151. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/simple_routing.py +0 -0
  152. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/simple_search.py +0 -0
  153. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/update.py +0 -0
  154. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/handlers/write.py +0 -0
  155. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/__init__.py +0 -0
  156. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/cli.py +0 -0
  157. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/exceptions/__init__.py +0 -0
  158. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/exceptions/cli_input_error.py +0 -0
  159. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/exceptions/cli_not_found.py +0 -0
  160. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/input_output.py +0 -0
  161. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_outputs/wsgi.py +0 -0
  162. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_requirements/__init__.py +0 -0
  163. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_requirements/maximum_length.py +0 -0
  164. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_requirements/minimum_length.py +0 -0
  165. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_requirements/required.py +0 -0
  166. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_requirements/requirement.py +0 -0
  167. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/input_requirements/unique.py +0 -0
  168. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/mocks/__init__.py +0 -0
  169. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/mocks/input_output.py +0 -0
  170. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/mocks/models.py +0 -0
  171. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/model.py +0 -0
  172. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/models.py +0 -0
  173. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/__init__.py +0 -0
  174. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/additional_configs/__init__.py +0 -0
  175. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +0 -0
  176. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
  177. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/akeyless.py +0 -0
  178. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/exceptions/__init__.py +0 -0
  179. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/exceptions/not_found.py +0 -0
  180. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/secrets/secrets.py +0 -0
  181. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/__init__.py +0 -0
  182. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/base.py +0 -0
  183. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/cache_control.py +0 -0
  184. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/cors.py +0 -0
  185. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/csp.py +0 -0
  186. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/hsts.py +0 -0
  187. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/x_content_type_options.py +0 -0
  188. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/security_headers/x_frame_options.py +0 -0
  189. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/tests/__init__.py +0 -0
  190. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/tests/simple_api/__init__.py +0 -0
  191. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/tests/simple_api/models/__init__.py +0 -0
  192. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/tests/simple_api/models/status.py +0 -0
  193. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/tests/simple_api/models/user.py +0 -0
  194. {clear_skies-1.18.7 → clear_skies-1.18.8}/src/clearskies/tests/simple_api/users_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clear-skies
3
- Version: 1.18.7
3
+ Version: 1.18.8
4
4
  Summary: A framework for building backends in the cloud
5
5
  Home-page: https://github.com/cmancone/clearskies
6
6
  License: MIT
@@ -2,7 +2,7 @@
2
2
 
3
3
  [tool.poetry]
4
4
  name = "clear-skies"
5
- version = "1.18.7"
5
+ version = "1.18.8"
6
6
  description = "A framework for building backends in the cloud"
7
7
  authors = [
8
8
  "Conor Mancone <cmancone@gmail.com>",
@@ -0,0 +1,26 @@
1
+ from .string import String
2
+
3
+
4
+ class CreatedByAuthorizationData(String):
5
+ required_configs = [
6
+ "authorization_data_key_name",
7
+ ]
8
+
9
+ def __init__(self, di):
10
+ super().__init__(di)
11
+
12
+ @property
13
+ def is_writeable(self):
14
+ return False
15
+
16
+ def pre_save(self, data, model):
17
+ if model.exists:
18
+ return data
19
+
20
+ authorization_data = self.di.build("input_output", cache=True).get_authorization_data()
21
+ # data comes last so that it can override the info in the authorization data. This seems counter-intuitive,
22
+ # but is important. You would think that you *don't* want the data from the authorization data to be
23
+ # overridden (since this is mainly used for logging), but the trouble is that there are a variety of use-cases
24
+ # where the application must provide the audit data. Examples include registration and login. In these
25
+ # cases, authorization data will be empty, and must be provided by the applicaiton.
26
+ return {self.name: authorization_data.get(self.config("authorization_data_key_name"), "N/A"), **data}
@@ -1,9 +1,13 @@
1
+ import logging
1
2
  import urllib.parse
2
3
  import re
4
+ import json
3
5
  from ..autodoc.request import URLPath
4
6
  from ..autodoc.schema import String
5
7
  from . import simple_routing
6
8
 
9
+ logger = logging.getLogger(__name__)
10
+
7
11
 
8
12
  class SimpleRoutingRoute:
9
13
  _di = None
@@ -91,26 +95,45 @@ class SimpleRoutingRoute:
91
95
  to understand if there was no route match at all.
92
96
  """
93
97
  # if we're routing to a simple router then defer to it
98
+ incoming = f"Incoming request: [{request_method}] {full_path}. Check against route with url '{self._path}' "
99
+ if not self._methods:
100
+ incoming += " configured for any method except OPTIONS"
101
+ elif isinstance(self._methods, str):
102
+ incoming += f" with method '{self._methods}'"
103
+ else:
104
+ incoming += " with any of the following methods: " + ", ".join(self._methods)
94
105
  if self._routes_to_simple_routing:
95
106
  return self._handler.can_handle(full_path, request_method, is_cors=is_cors)
96
107
  # If we're routing for CORS then ignore the request method (since it won't match)
97
108
  if not is_cors and self._methods is not None and request_method not in self._methods:
109
+ logger.debug(
110
+ f"{incoming} Skipped because this route is not specifically configured for CORS, and this is an OPTIONS request."
111
+ )
98
112
  return None
99
113
  if self._resource_paths:
100
- return self._resource_path_match(full_path, self._path_parts, self._resource_paths)
114
+ results = self._resource_path_match(full_path, self._path_parts, self._resource_paths)
115
+ if not results:
116
+ logger.debug(f"{incoming} Not a match.")
117
+ else:
118
+ logger.debug(f"{incoming} Matched and extracted route data: " + json.dumps(results))
119
+ return results
101
120
  if self._path is not None:
102
121
  full_path = full_path.strip("/")
103
122
  my_path = self._path.strip("/")
104
123
  my_path_length = len(my_path)
105
124
  full_path_length = len(full_path)
106
125
  if my_path_length > full_path_length:
126
+ logger.debug(f"{incoming} Not a match. I'm too long to bother checking.")
107
127
  return None
108
128
  if full_path[:my_path_length] != my_path:
129
+ logger.debug(f"{incoming} Not a match. Our prefixes just don't match.")
109
130
  return None
110
131
  # make sure we don't get confused by partial matches. `user` should match `user/` and `user/5`,
111
132
  # but it shouldn't match `users/`
112
133
  if full_path_length > my_path_length and full_path[my_path_length] != "/":
134
+ logger.debug(f"{incoming} Not a match. I only partially matched the URL but not as a sub-directory.")
113
135
  return None
136
+ logger.debug(f"{incoming} Match!")
114
137
  return {}
115
138
 
116
139
  def _resource_path_match(self, requested_path, path_parts, resource_paths):
@@ -1,21 +0,0 @@
1
- from .string import String
2
-
3
-
4
- class CreatedByAuthorizationData(String):
5
- required_configs = [
6
- "authorization_data_key_name",
7
- ]
8
-
9
- def __init__(self, di):
10
- super().__init__(di)
11
-
12
- @property
13
- def is_writeable(self):
14
- return False
15
-
16
- def pre_save(self, data, model):
17
- if model.exists:
18
- return data
19
-
20
- authorization_data = self.di.build("input_output", cache=True).get_authorization_data()
21
- return {**data, self.name: authorization_data.get(self.config("authorization_data_key_name"), "N/A")}
File without changes
File without changes