Always apply the function prefix trim for async functions

**What**
- Always apply the `FunctionPrefixTrimmingURLPathTransformer` when
  enqueueing async function requests. This ensures that the context
  information sent to the function is correct

Resolves #85

Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
This commit is contained in:
Lucas Roesler 2019-12-25 15:32:03 +01:00 committed by Alex Ellis
parent 7445998092
commit 76e463a7a0

View File

@ -87,13 +87,14 @@ func main() {
var functionURLResolver handlers.BaseURLResolver var functionURLResolver handlers.BaseURLResolver
var functionURLTransformer handlers.URLPathTransformer var functionURLTransformer handlers.URLPathTransformer
nilURLTransformer := handlers.TransparentURLPathTransformer{} nilURLTransformer := handlers.TransparentURLPathTransformer{}
trimURLTransformer := handlers.FunctionPrefixTrimmingURLPathTransformer{}
if config.DirectFunctions { if config.DirectFunctions {
functionURLResolver = handlers.FunctionAsHostBaseURLResolver{ functionURLResolver = handlers.FunctionAsHostBaseURLResolver{
FunctionSuffix: config.DirectFunctionsSuffix, FunctionSuffix: config.DirectFunctionsSuffix,
FunctionNamespace: config.Namespace, FunctionNamespace: config.Namespace,
} }
functionURLTransformer = handlers.FunctionPrefixTrimmingURLPathTransformer{} functionURLTransformer = trimURLTransformer
} else { } else {
functionURLResolver = urlResolver functionURLResolver = urlResolver
functionURLTransformer = nilURLTransformer functionURLTransformer = nilURLTransformer
@ -141,7 +142,7 @@ func main() {
} }
faasHandlers.QueuedProxy = handlers.MakeNotifierWrapper( faasHandlers.QueuedProxy = handlers.MakeNotifierWrapper(
handlers.MakeCallIDMiddleware(handlers.MakeQueuedProxy(metricsOptions, true, natsQueue, functionURLTransformer)), handlers.MakeCallIDMiddleware(handlers.MakeQueuedProxy(metricsOptions, true, natsQueue, trimURLTransformer)),
forwardingNotifiers, forwardingNotifiers,
) )