openwhisk-apigateway icon indicating copy to clipboard operation
openwhisk-apigateway copied to clipboard

Expose base path to the action

Open akrabat opened this issue 6 years ago • 2 comments

I'm trying to find a way to determine the fully qualified base URL that was used for my action so that I can create URLs in my payloads to other resources in my API.

e.g. if you set up as per https://github.com/apache/incubator-openwhisk/blob/master/docs/apigateway.md#exposing-multiple-web-actions then:

  • Given a POST /club/books, I need to generate a URL to /club/books/{new id}
  • Given a GET to /club/books/12, then I want to generate a URL to /club/books/34 which is by the same author.

As it stands, we have:

  • __ow_headers => x-forwarded-url which provides the fully qualified URL that was used to invoke this action
  • __ow_path which is some characters from the end of the x-forwarded-url URL.

My initial idea was to subtract __ow_path from __ow_headers, but it doesn't work as __ow_path is very different depending on if there's a placeholder in the path:

i.e. if you call the URL for /club/books/, then __ow_path is /, but if you call the URL for /club/books/12 the __ow_path is /club/books/12

Suggested solution:

Provide __ow_base_path which is equal to /club in this example.

akrabat avatar Jun 10 '18 15:06 akrabat

Provide __ow_base_path which is equal to /club in this example.

I think we can also assume that when developers use swagger spec, that basePath would be /club ?

ddragosd avatar Jun 14 '18 17:06 ddragosd

I would agree that the basePath from the swagger is the right thing.

mhamann avatar Jun 16 '18 02:06 mhamann