Skip to content

fix(Cors): Fix type of allow_methods in CORSConfig #4154

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

jmencianaranjo-ionos
Copy link

Description

Fix allow_methods typing to allow only one of the 2 possibilities:

  • Accept all methods (*)
  • Accept list of methods (List[Method])

Closes

Fixes #4143

JacobCoffee and others added 30 commits April 18, 2025 16:21
* Trigger documentation build

* Trigger documentation build

* docs: update to v3 style

* docs: move some things to litestar.dev repo, change versioning, add environment tag

* docs: update landing page

* chore: update lockfile

* chore: add AA upper constraint

* fix(docs): re-colonize

* docs: enable sphinx-togglebutton

* docs: use current year var

* deps: update deps

* fix(docs): do not link __name__ for now

* fix(docs): use correct link to page

---------

Co-authored-by: Peter Schutt <peter.github@proton.me>
* Remove deprecated StaticFiles and StaticFilesConfig
* remove special casing of static files app from handlers/router
* remove outdated docs sections
* Add what's new section
* Rename tests for consistency
This PR changes behavior of parameters that are typed in a union with `None`. Prior behavior was to implicitly default their value to `None` if a value wasn't provided making an apparently non-optional parameter (i.e., no declared default) actually optional. Surprising behavior at best, dangerous at worst.

New behavior is to throw a client error when a parameter without a default is not provided.
* refactor: removes deprecated OpenAPIController

This PR removes all deprecated elements of OpenAPIConfig and the OpenAPIController, removes any obsolete tests and refactors tests that were parametrized to test both OpenAPIController and the router-based approach.

* docs: What's new entry

* Update docs/usage/openapi/ui_plugins.rst

Co-authored-by: Jacob Coffee <jacob@z7x.org>

* Update litestar/openapi/config.py

* fix: remove whitespace

* fix: import table formatting

(i hope)

---------

Co-authored-by: Jacob Coffee <jacob@z7x.org>
…e` (#3393)

* Remove 'app' parameter from `.to_asgi_response`
Remove the deprecated utility functions, `get_litestar_scope_state``, ``set_litestar_scope_state``, ``delete_litestar_scope_state``, and ``is_sync_or_async_generator``.
* remove handler names
* Remove option handler creation from HTTPRoute
* Remove methods attribute from BaseRoute
* Move kwargs model to handlers and creation to on_registration
* Store kwargs model on handlers instead of routes
* Simplify HTTPRoute route_handler_map creation
* Simplify Router.route_handler_method_map
* Relax typing of HTTPRoute
* Move handling logic to route handlers
* Remove scope_type
* Don't pass route to HTTPRouteHandler during handling
* Don't pass scope to handle methods
* Resolve and establish connections in routes; Only pass connections to handlers

---------

Co-authored-by: Jacob Coffee <jacob@z7x.org>
Co-authored-by: Peter Schutt <peter.github@proton.me>
fix(docs): adjust build script
* Backport static files path traversal fix
* make route handlers functional decorators
…deprecated params of internal `ExceptionHandlerMiddleware` (#3435)

* refactor!: Remove deprecated `app` param of `Response.to_asgi_response` (#3393)
* Remove 'app' parameter from `.to_asgi_response`
* Remove debug param
* Remove exception_handlers param
* Remove litestar.middleware.exceptions
Port parse_values_from_connection_kwargs changes
@github-actions github-actions bot added area/di area/docs This PR involves changes to the documentation area/dto This PR involves changes to the DTOs area/enums This PR involves changes to the enums area/events area/file-system area/handlers This PR involves changes to the handlers area/kwargs area/layers area/logging area/middleware This PR involves changes to the middleware area/multipart area/openapi This PR involves changes to the OpenAPI schema area/params This PR involves changes to the params area/plugins This PR involves changes to the plugins area/private-api This PR involves changes to the privatized API area/response area/router area/security area/serialization area/signature area/static-files area/template area/testing area/types This PR involves changes to the custom types size: large type/bug pr/external Triage Required 🏥 This requires triage labels Apr 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/asgi area/background-tasks area/channels area/ci This PR involves changes to the CI/Infra area/connection area/constants This PR involves changes to the constants area/contrib This PR involves changes to the contrib (Deprecated) area/controller area/datastructures area/dependencies This PR involves changes to the dependencies area/di area/docs This PR involves changes to the documentation area/dto This PR involves changes to the DTOs area/enums This PR involves changes to the enums area/events area/file-system area/handlers This PR involves changes to the handlers area/kwargs area/layers area/logging area/middleware This PR involves changes to the middleware area/multipart area/openapi This PR involves changes to the OpenAPI schema area/params This PR involves changes to the params area/plugins This PR involves changes to the plugins area/private-api This PR involves changes to the privatized API area/response area/router area/security area/serialization area/signature area/static-files area/template area/testing area/types This PR involves changes to the custom types pr/external size: large Triage Required 🏥 This requires triage type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bug: Incorrect type annotation of allow_methods
7 participants