strawberry-graphql 0.273.3__tar.gz → 0.274.1__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 (238) hide show
  1. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/pyproject.toml +1 -1
  3. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/annotation.py +15 -6
  4. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/async_base_view.py +6 -1
  5. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/sync_base_view.py +6 -1
  6. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/exceptions.py +12 -0
  7. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/schema.py +20 -5
  8. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +6 -5
  9. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +2 -8
  10. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/execution.py +1 -1
  11. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/operation.py +1 -1
  12. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/LICENSE +0 -0
  13. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/README.md +0 -0
  14. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/__init__.py +0 -0
  15. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/__main__.py +0 -0
  16. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/aiohttp/__init__.py +0 -0
  17. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/aiohttp/test/__init__.py +0 -0
  18. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/aiohttp/test/client.py +0 -0
  19. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/aiohttp/views.py +0 -0
  20. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/asgi/__init__.py +0 -0
  21. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/asgi/test/__init__.py +0 -0
  22. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/asgi/test/client.py +0 -0
  23. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/chalice/__init__.py +0 -0
  24. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/chalice/views.py +0 -0
  25. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/__init__.py +0 -0
  26. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/handlers/__init__.py +0 -0
  27. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/handlers/base.py +0 -0
  28. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/handlers/http_handler.py +0 -0
  29. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/handlers/ws_handler.py +0 -0
  30. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/router.py +0 -0
  31. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/channels/testing.py +0 -0
  32. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/__init__.py +0 -0
  33. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/app.py +0 -0
  34. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/__init__.py +0 -0
  35. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/codegen.py +0 -0
  36. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/export_schema.py +0 -0
  37. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/schema_codegen.py +0 -0
  38. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/server.py +0 -0
  39. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  40. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  41. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  42. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/constants.py +0 -0
  43. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/debug_server.py +0 -0
  44. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/utils/__init__.py +0 -0
  45. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/cli/utils/load_schema.py +0 -0
  46. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/__init__.py +0 -0
  47. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/exceptions.py +0 -0
  48. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/plugins/__init__.py +0 -0
  49. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/plugins/print_operation.py +0 -0
  50. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/plugins/python.py +0 -0
  51. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/plugins/typescript.py +0 -0
  52. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/query_codegen.py +0 -0
  53. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codegen/types.py +0 -0
  54. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codemods/__init__.py +0 -0
  55. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codemods/annotated_unions.py +0 -0
  56. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/codemods/update_imports.py +0 -0
  57. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/dataloader.py +0 -0
  58. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/directive.py +0 -0
  59. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/django/__init__.py +0 -0
  60. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/django/apps.py +0 -0
  61. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/django/context.py +0 -0
  62. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/django/test/__init__.py +0 -0
  63. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/django/test/client.py +0 -0
  64. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/django/views.py +0 -0
  65. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/__init__.py +0 -0
  66. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/conflicting_arguments.py +0 -0
  67. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/duplicated_type_name.py +0 -0
  68. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/exception.py +0 -0
  69. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/exception_source.py +0 -0
  70. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/handler.py +0 -0
  71. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/invalid_argument_type.py +0 -0
  72. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/invalid_superclass_interface.py +0 -0
  73. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/invalid_union_type.py +0 -0
  74. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  75. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/missing_dependencies.py +0 -0
  76. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/missing_field_annotation.py +0 -0
  77. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/missing_return_annotation.py +0 -0
  78. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  79. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  80. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  81. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/private_strawberry_field.py +0 -0
  82. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/scalar_already_registered.py +0 -0
  83. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/syntax.py +0 -0
  84. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/unresolved_field_type.py +0 -0
  85. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/utils/__init__.py +0 -0
  86. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/exceptions/utils/source_finder.py +0 -0
  87. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/__init__.py +0 -0
  88. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/__init__.py +0 -0
  89. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/_compat.py +0 -0
  90. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/conversion.py +0 -0
  91. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  92. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/error_type.py +0 -0
  93. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/exceptions.py +0 -0
  94. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/fields.py +0 -0
  95. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/object_type.py +0 -0
  96. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/experimental/pydantic/utils.py +0 -0
  97. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/LICENSE +0 -0
  98. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/__init__.py +0 -0
  99. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/dataclasses/LICENSE +0 -0
  100. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/dataclasses/README.md +0 -0
  101. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/dataclasses/__init__.py +0 -0
  102. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  103. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/ext/mypy_plugin.py +0 -0
  104. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/__init__.py +0 -0
  105. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/add_validation_rules.py +0 -0
  106. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/base_extension.py +0 -0
  107. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/context.py +0 -0
  108. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/directives.py +0 -0
  109. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/disable_introspection.py +0 -0
  110. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/disable_validation.py +0 -0
  111. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/field_extension.py +0 -0
  112. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/mask_errors.py +0 -0
  113. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/max_aliases.py +0 -0
  114. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/max_tokens.py +0 -0
  115. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/parser_cache.py +0 -0
  116. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/pyinstrument.py +0 -0
  117. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/query_depth_limiter.py +0 -0
  118. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/runner.py +0 -0
  119. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/tracing/__init__.py +0 -0
  120. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/tracing/apollo.py +0 -0
  121. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/tracing/datadog.py +0 -0
  122. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  123. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/tracing/utils.py +0 -0
  124. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/utils.py +0 -0
  125. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/extensions/validation_cache.py +0 -0
  126. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/fastapi/__init__.py +0 -0
  127. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/fastapi/context.py +0 -0
  128. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/fastapi/router.py +0 -0
  129. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/__init__.py +0 -0
  130. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/argument.py +0 -0
  131. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/enum.py +0 -0
  132. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/field.py +0 -0
  133. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/mutation.py +0 -0
  134. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/object_type.py +0 -0
  135. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/scalar.py +0 -0
  136. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/schema.py +0 -0
  137. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/schema_directive.py +0 -0
  138. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/schema_directives.py +0 -0
  139. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/types.py +0 -0
  140. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/federation/union.py +0 -0
  141. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/field_extensions/__init__.py +0 -0
  142. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/field_extensions/input_mutation.py +0 -0
  143. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/file_uploads/__init__.py +0 -0
  144. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/file_uploads/scalars.py +0 -0
  145. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/file_uploads/utils.py +0 -0
  146. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/flask/__init__.py +0 -0
  147. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/flask/views.py +0 -0
  148. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/__init__.py +0 -0
  149. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/base.py +0 -0
  150. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/exceptions.py +0 -0
  151. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/ides.py +0 -0
  152. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/parse_content_type.py +0 -0
  153. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/temporal_response.py +0 -0
  154. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/types.py +0 -0
  155. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/http/typevars.py +0 -0
  156. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/litestar/__init__.py +0 -0
  157. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/litestar/controller.py +0 -0
  158. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/parent.py +0 -0
  159. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/permission.py +0 -0
  160. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/printer/__init__.py +0 -0
  161. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/printer/ast_from_value.py +0 -0
  162. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/printer/printer.py +0 -0
  163. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/py.typed +0 -0
  164. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/quart/__init__.py +0 -0
  165. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/quart/views.py +0 -0
  166. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/relay/__init__.py +0 -0
  167. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/relay/exceptions.py +0 -0
  168. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/relay/fields.py +0 -0
  169. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/relay/types.py +0 -0
  170. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/relay/utils.py +0 -0
  171. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/resolvers.py +0 -0
  172. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/sanic/__init__.py +0 -0
  173. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/sanic/context.py +0 -0
  174. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/sanic/utils.py +0 -0
  175. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/sanic/views.py +0 -0
  176. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/scalars.py +0 -0
  177. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/__init__.py +0 -0
  178. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/base.py +0 -0
  179. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/compat.py +0 -0
  180. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/config.py +0 -0
  181. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/name_converter.py +0 -0
  182. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/schema_converter.py +0 -0
  183. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/types/__init__.py +0 -0
  184. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/types/base_scalars.py +0 -0
  185. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/types/concrete_type.py +0 -0
  186. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/types/scalar.py +0 -0
  187. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/validation_rules/__init__.py +0 -0
  188. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema/validation_rules/one_of.py +0 -0
  189. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema_codegen/__init__.py +0 -0
  190. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema_directive.py +0 -0
  191. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/schema_directives.py +0 -0
  192. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/static/apollo-sandbox.html +0 -0
  193. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/static/graphiql.html +0 -0
  194. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/static/pathfinder.html +0 -0
  195. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/__init__.py +0 -0
  196. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/__init__.py +0 -0
  197. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  198. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  199. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  200. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  201. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/test/__init__.py +0 -0
  202. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/test/client.py +0 -0
  203. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/tools/__init__.py +0 -0
  204. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/tools/create_type.py +0 -0
  205. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/tools/merge_types.py +0 -0
  206. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/__init__.py +0 -0
  207. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/arguments.py +0 -0
  208. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/auto.py +0 -0
  209. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/base.py +0 -0
  210. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/cast.py +0 -0
  211. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/enum.py +0 -0
  212. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/field.py +0 -0
  213. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/fields/__init__.py +0 -0
  214. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/fields/resolver.py +0 -0
  215. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/graphql.py +0 -0
  216. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/info.py +0 -0
  217. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/lazy_type.py +0 -0
  218. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/maybe.py +0 -0
  219. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/mutation.py +0 -0
  220. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/nodes.py +0 -0
  221. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/object_type.py +0 -0
  222. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/private.py +0 -0
  223. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/scalar.py +0 -0
  224. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/type_resolver.py +0 -0
  225. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/union.py +0 -0
  226. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/types/unset.py +0 -0
  227. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/__init__.py +0 -0
  228. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/aio.py +0 -0
  229. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/await_maybe.py +0 -0
  230. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/dataclasses.py +0 -0
  231. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/debug.py +0 -0
  232. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/deprecations.py +0 -0
  233. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/graphql_lexer.py +0 -0
  234. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/importer.py +0 -0
  235. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/inspect.py +0 -0
  236. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/logging.py +0 -0
  237. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/str_converters.py +0 -0
  238. {strawberry_graphql-0.273.3 → strawberry_graphql-0.274.1}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: strawberry-graphql
3
- Version: 0.273.3
3
+ Version: 0.274.1
4
4
  Summary: A library for creating GraphQL APIs
5
5
  License: MIT
6
6
  Keywords: graphql,api,rest,starlette,async
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "strawberry-graphql"
3
- version = "0.273.3"
3
+ version = "0.274.1"
4
4
  description = "A library for creating GraphQL APIs"
5
5
  authors = [{ name = "Patrick Arminio", email = "patrick.arminio@gmail.com" }]
6
6
  license = { text = "MIT" }
@@ -145,10 +145,8 @@ class StrawberryAnnotation:
145
145
  return evaled_type
146
146
  if self._is_list(evaled_type):
147
147
  return self.create_list(evaled_type)
148
- if type_of := self._get_maybe_type(evaled_type):
149
- return StrawberryMaybe(
150
- of_type=type_of,
151
- )
148
+ if self._is_maybe(evaled_type):
149
+ return self.create_maybe(evaled_type)
152
150
 
153
151
  if self._is_graphql_generic(evaled_type):
154
152
  if any(is_type_var(type_) for type_ in get_args(evaled_type)):
@@ -224,6 +222,17 @@ class StrawberryAnnotation:
224
222
 
225
223
  return StrawberryOptional(of_type)
226
224
 
225
+ def create_maybe(self, evaled_type: Any) -> StrawberryMaybe:
226
+ # we expect a single arg to the evaled type,
227
+ # as unions on input types are not supported
228
+ # and maybe[t] already represents t | None
229
+ inner_type = get_args(evaled_type)[0]
230
+
231
+ of_type = StrawberryAnnotation(
232
+ annotation=inner_type, namespace=self.namespace
233
+ ).resolve()
234
+ return StrawberryMaybe(of_type)
235
+
227
236
  def create_type_var(self, evaled_type: TypeVar) -> StrawberryTypeVar:
228
237
  return StrawberryTypeVar(evaled_type)
229
238
 
@@ -320,8 +329,8 @@ class StrawberryAnnotation:
320
329
  )
321
330
 
322
331
  @classmethod
323
- def _get_maybe_type(cls, annotation: Any) -> type | None:
324
- return get_args(annotation)[0] if _annotation_is_maybe(annotation) else None
332
+ def _is_maybe(cls, annotation: Any) -> bool:
333
+ return _annotation_is_maybe(annotation)
325
334
 
326
335
  @classmethod
327
336
  def _is_strawberry_type(cls, evaled_type: Any) -> bool:
@@ -26,7 +26,10 @@ from strawberry.http import (
26
26
  )
27
27
  from strawberry.http.ides import GraphQL_IDE
28
28
  from strawberry.schema.base import BaseSchema
29
- from strawberry.schema.exceptions import InvalidOperationTypeError
29
+ from strawberry.schema.exceptions import (
30
+ CannotGetOperationTypeError,
31
+ InvalidOperationTypeError,
32
+ )
30
33
  from strawberry.subscriptions import GRAPHQL_TRANSPORT_WS_PROTOCOL, GRAPHQL_WS_PROTOCOL
31
34
  from strawberry.subscriptions.protocols.graphql_transport_ws.handlers import (
32
35
  BaseGraphQLTransportWSHandler,
@@ -330,6 +333,8 @@ class AsyncBaseHTTPView(
330
333
  result = await self.execute_operation(
331
334
  request=request, context=context, root_value=root_value
332
335
  )
336
+ except CannotGetOperationTypeError as e:
337
+ raise HTTPException(400, e.as_http_error_reason()) from e
333
338
  except InvalidOperationTypeError as e:
334
339
  raise HTTPException(
335
340
  400, e.as_http_error_reason(request_adapter.method)
@@ -20,7 +20,10 @@ from strawberry.http import (
20
20
  )
21
21
  from strawberry.http.ides import GraphQL_IDE
22
22
  from strawberry.schema import BaseSchema
23
- from strawberry.schema.exceptions import InvalidOperationTypeError
23
+ from strawberry.schema.exceptions import (
24
+ CannotGetOperationTypeError,
25
+ InvalidOperationTypeError,
26
+ )
24
27
  from strawberry.types import ExecutionResult
25
28
  from strawberry.types.graphql import OperationType
26
29
  from strawberry.types.unset import UNSET
@@ -193,6 +196,8 @@ class SyncBaseHTTPView(
193
196
  context=context,
194
197
  root_value=root_value,
195
198
  )
199
+ except CannotGetOperationTypeError as e:
200
+ raise HTTPException(400, e.as_http_error_reason()) from e
196
201
  except InvalidOperationTypeError as e:
197
202
  raise HTTPException(
198
203
  400, e.as_http_error_reason(request_adapter.method)
@@ -1,9 +1,21 @@
1
+ from typing import Optional
2
+
1
3
  from strawberry.types.graphql import OperationType
2
4
 
3
5
 
4
6
  class CannotGetOperationTypeError(Exception):
5
7
  """Internal error raised when we cannot get the operation type from a GraphQL document."""
6
8
 
9
+ def __init__(self, operation_name: Optional[str]) -> None:
10
+ self.operation_name = operation_name
11
+
12
+ def as_http_error_reason(self) -> str:
13
+ return (
14
+ "Can't get GraphQL operation type"
15
+ if self.operation_name is None
16
+ else f'Unknown operation named "{self.operation_name}".'
17
+ )
18
+
7
19
 
8
20
  class InvalidOperationTypeError(Exception):
9
21
  def __init__(self, operation_type: OperationType) -> None:
@@ -498,7 +498,7 @@ class Schema(BaseSchema):
498
498
  try:
499
499
  operation_type = context.operation_type
500
500
  except RuntimeError as error:
501
- raise CannotGetOperationTypeError from error
501
+ raise CannotGetOperationTypeError(context.operation_name) from error
502
502
 
503
503
  if operation_type not in context.allowed_operations:
504
504
  raise InvalidOperationTypeError(operation_type)
@@ -609,7 +609,11 @@ class Schema(BaseSchema):
609
609
  # only return a sanitised version to the client.
610
610
  self._process_errors(result.errors, execution_context)
611
611
 
612
- except (MissingQueryError, InvalidOperationTypeError):
612
+ except (
613
+ MissingQueryError,
614
+ CannotGetOperationTypeError,
615
+ InvalidOperationTypeError,
616
+ ):
613
617
  raise
614
618
  except Exception as exc: # noqa: BLE001
615
619
  return await self._handle_execution_result(
@@ -677,8 +681,15 @@ class Schema(BaseSchema):
677
681
  extensions=extensions_runner.get_extensions_results_sync(),
678
682
  )
679
683
 
680
- if execution_context.operation_type not in allowed_operation_types:
681
- raise InvalidOperationTypeError(execution_context.operation_type) # noqa: TRY301
684
+ try:
685
+ operation_type = execution_context.operation_type
686
+ except RuntimeError as error:
687
+ raise CannotGetOperationTypeError(
688
+ execution_context.operation_name
689
+ ) from error
690
+
691
+ if operation_type not in execution_context.allowed_operations:
692
+ raise InvalidOperationTypeError(operation_type) # noqa: TRY301
682
693
 
683
694
  with extensions_runner.validation():
684
695
  _run_validation(execution_context)
@@ -725,7 +736,11 @@ class Schema(BaseSchema):
725
736
  # extension). That way we can log the original errors but
726
737
  # only return a sanitised version to the client.
727
738
  self._process_errors(result.errors, execution_context)
728
- except (MissingQueryError, InvalidOperationTypeError):
739
+ except (
740
+ MissingQueryError,
741
+ CannotGetOperationTypeError,
742
+ InvalidOperationTypeError,
743
+ ):
729
744
  raise
730
745
  except Exception as exc: # noqa: BLE001
731
746
  errors = [_coerce_error(exc)]
@@ -20,6 +20,7 @@ from strawberry.http.exceptions import (
20
20
  WebSocketDisconnected,
21
21
  )
22
22
  from strawberry.http.typevars import Context, RootValue
23
+ from strawberry.schema.exceptions import CannotGetOperationTypeError
23
24
  from strawberry.subscriptions.protocols.graphql_transport_ws.types import (
24
25
  CompleteMessage,
25
26
  ConnectionInitMessage,
@@ -221,13 +222,13 @@ class BaseGraphQLTransportWSHandler(Generic[Context, RootValue]):
221
222
  try:
222
223
  operation_type = get_operation_type(graphql_document, operation_name)
223
224
  except RuntimeError:
225
+ # Unlike in the other protocol implementations, we access the operation type
226
+ # before executing the operation. Therefore, we don't get a nice
227
+ # CannotGetOperationTypeError, but rather the underlying RuntimeError.
228
+ e = CannotGetOperationTypeError(operation_name)
224
229
  await self.websocket.close(
225
230
  code=4400,
226
- reason=(
227
- f'Unknown operation named "{operation_name}".'
228
- if operation_name
229
- else "Can't get GraphQL operation type"
230
- ),
231
+ reason=e.as_http_error_reason(),
231
232
  )
232
233
  return
233
234
 
@@ -194,18 +194,12 @@ class BaseGraphQLWSHandler(Generic[Context, RootValue]):
194
194
 
195
195
  await self.send_message(CompleteMessage(type="complete", id=operation_id))
196
196
 
197
- except CannotGetOperationTypeError:
197
+ except CannotGetOperationTypeError as e:
198
198
  await self.send_message(
199
199
  ErrorMessage(
200
200
  type="error",
201
201
  id=operation_id,
202
- payload={
203
- "message": (
204
- f'Unknown operation named "{operation_name}".'
205
- if operation_name
206
- else "Can't get GraphQL operation type"
207
- )
208
- },
202
+ payload={"message": e.as_http_error_reason()},
209
203
  )
210
204
  )
211
205
  except asyncio.CancelledError:
@@ -57,7 +57,7 @@ class ExecutionContext:
57
57
 
58
58
  @property
59
59
  def operation_name(self) -> Optional[str]:
60
- if self._provided_operation_name:
60
+ if self._provided_operation_name is not None:
61
61
  return self._provided_operation_name
62
62
 
63
63
  definition = self._get_first_operation()
@@ -25,7 +25,7 @@ def get_operation_type(
25
25
  ) -> OperationType:
26
26
  definition: Optional[OperationDefinitionNode] = None
27
27
 
28
- if operation_name:
28
+ if operation_name is not None:
29
29
  for d in graphql_document.definitions:
30
30
  if not isinstance(d, OperationDefinitionNode):
31
31
  continue