solo-io / gloo

The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy
https://docs.solo.io/
Apache License 2.0
4.07k stars 434 forks source link

Passthrough/DontParse breaks routeAction #6158

Open eafxl opened 2 years ago

eafxl commented 2 years ago

Gloo Edge Version

1.10.x (latest stable)

Kubernetes Version

No response

Describe the bug

While using the docs example with adding of passthrough/DontParse

  - matchers:
    - prefix: /petstore/findPets
    options:
      stagedTransformations:
        regular:
          requestTransforms:
          - requestTransformation:
              transformationTemplate:
                parseBodyBehavior: DontParse
    routeAction:
      single:
        destinationSpec:
          rest:
            functionName: findPets
            parameters: {}
        upstream:
          name: petstore
          namespace: gloo-system

or

  - matchers:
    - prefix: /petstore/findPets
    options:
      stagedTransformations:
        regular:
          requestTransforms:
          - requestTransformation:
              transformationTemplate:
                passthrough: {}
    routeAction:
      single:
        destinationSpec:
          rest:
            functionName: findPets
            parameters: {}
        upstream:
          name: petstore
          namespace: gloo-system

path specified in upstream yaml

        findPets:
          body: {}
          headers:
            :method:
              text: POST
            :path:
              text: /upload

become ignored, the only way to fix is to specify explicitly(in options):

prefixRewrite:  /upload

Steps to reproduce the bug

Apply attached diff to tutorial for docker-compose (file version)

Expected Behavior

From my perspective I should be able to not parse body and apply proper path inside upstream yml file.

Additional Context

No response

github-actions[bot] commented 3 months ago

This issue has been marked as stale because of no activity in the last 180 days. It will be closed in the next 180 days unless it is tagged "no stalebot" or other activity occurs.