Skip to content

Service invocation via request header removes trailing slash #7686

Open
@koell-casa

Description

@koell-casa

Hi,

this week we tried to implement a Non-Dapr endpoint via HTTP. Normally we use the dapr-app-id in the header instead of the /v1.0/invoke/{appId}/method/{methodName}, but ran into an issue with one of our endpoints. For this endpoint we need to have a trailing slash, which doesn't arrive at our server. Strangely enough, the dapr logs show the trailing slash. Calling the endpoint with the /v1.0/invoke/{appId}/method/{methodName}/ version works. So my guess is, that it has something to to with the dapr-app-id header version. (Maybe the log is not correct?)

In what area(s)?

/area runtime

What version of Dapr?

1.13.0

Expected Behavior

URL should be send to the endpoint as specified.

Actual Behavior

Trailing slash is missing.

Steps to Reproduce the Problem

Dapr Kubernetes Sidecar
Calling the HTTPEndpoint via /v1.0/invoke/{appId}/method/{methodName}/ (including trailing slash), the server returns 200.

Dapr Log

time="2024-04-10T13:47:41.873135982Z" level=info msg="HTTP API Called" app_id=xy code=200 duration=1159 instance=xy-6d5bb584b-s4trc method="GET /v1.0/invoke/appId/method/my-demo/route/2024-04-08T00:00:00.0000000/2024-04-08T23:59:59.9990000/" scope=dapr.runtime.http-info size=4994 type=log ver=1.13.0

Server Log

2024-04-10 13:47:41 10.21.1.10 GET /my-demo/route/2024-04-08T00:00:00.0000000/2024-04-08T23:59:59.9990000/ - 443 - 127.0.0.1 Go-http-client/2.0 - 200 0 0 1065 400 6610 800d

Calling the HTTPEndpoint via /{methodName}/ and dapr-app-id header, the server returns 404 (as the trailing slash is missing)

Dapr Log

time="2024-04-10T13:50:03.933427538Z" level=info msg="HTTP API Called" app_id=xy code=404 duration=11 instance=xy-6d5bb584b-s4trc method="GET /my-demo/route/2024-04-08T00:00:00.0000000/2024-04-08T23:59:59.9990000/" scope=dapr.runtime.http-info size=5848 type=log ver=1.13.0

Server Log

2024-04-10 13:50:03 10.21.1.10 GET /my-demo/route/2024-04-08T00:00:00.0000000/2024-04-08T23:59:59.9990000 - 443 - 127.0.0.1 Go-http-client/2.0 - 404 0 2 10 400 6610 800d

Release Note

RELEASE NOTE:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Needs Owner

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions