Skip to content
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

Multiple path params break support for URI path param #887

Closed
Mitchell3514 opened this issue Jan 12, 2024 · 1 comment · Fixed by #898, #936, #944, #951 or #960
Closed

Multiple path params break support for URI path param #887

Mitchell3514 opened this issue Jan 12, 2024 · 1 comment · Fixed by #898, #936, #944, #951 or #960

Comments

@Mitchell3514
Copy link
Contributor

Describe the bug
As per the FAQ, we should be able to define paths that end on a path parameter acting as a wildcard/use URI format.
However, when we introduce a second path parameter, the middleware always throws an error and the server returns status code 500.

To Reproduce

  1. Create the validation middleware using an OpenAPI specification that includes a path with multiple path parameters of which the last (at the end) is a wildcard as per RFC-6570. For example:
    /namespaces/{id}/files/{path}*:
      get:
        parameters:
          - name: path
            in: path
            required: true
            schema:
              type: string
  2. Create an Express application with the middleware and call any (existing or non-existing) route.

Actual behavior
The middleware always responds with 500 - Internal Server Error

Expected behavior
The middleware validates the internal path parameter as per usual and parses the wildcard parameter at the end.

Examples and context
Original use-case: #457 implemented in #491
I have added a commit to my fork that includes tests which reproduce this issue: Mitchell3514@0c55318

@guillerecalde
Copy link
Contributor

Hi @Mitchell3514, I'm facing the same issue in one of my projects. Since you've added some tests, I went ahead and created a pull request to your fork: Mitchell3514#1 to fix this issue. Could you please update your fork and create a pull request to this library so @cdimascio can take a look?

cdimascio pushed a commit that referenced this issue Feb 2, 2024
* Add multiple path parameters with wildcard tests

* Change regex to support multiple params when including file path params (#1)

* Change regex to support multiple params when including URI path param
* Update regex, remove unnecessary bracket

---------

Co-authored-by: Guillermo Recalde <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment