ring-aws-lambda-adapter
ring-aws-lambda-adapter copied to clipboard
interpolate-path seems to fail with nested paths
{"errorMessage":"nth not supported on this type: Character","errorType":"java.lang.UnsupportedOperationException","stackTrace":["clojure.lang.RT.nthFrom(RT.java:983)","clojure.lang.RT.nth(RT.java:933)","ring_aws_lambda_adapter.core$interpolate_path$_interpolate_path__438.invoke(core.clj:12)","clojure.core.protocols$fn__7850.invokeStatic(protocols.clj:153)","clojure.core.protocols$fn__7850.invoke(protocols.clj:124)","clojure.core.protocols$fn__7807$G__7802__7816.invoke(protocols.clj:19)","clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)","clojure.core.protocols$fn__7829.invokeStatic(protocols.clj:75)","clojure.core.protocols$fn__7829.invoke(protocols.clj:75)","clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)","clojure.core$reduce.invokeStatic(core.clj:6748)","clojure.core$reduce.invoke(core.clj:6730)","ring_aws_lambda_adapter.core$interpolate_path.invokeStatic(core.clj:12)","ring_aws_lambda_adapter.core$interpolate_path.invoke(core.clj:11)","ring_aws_lambda_adapter.core$event__GT_request.invokeStatic(core.clj:37)","ring_aws_lambda_adapter.core$event__GT_request.invoke(core.clj:19)","ring_aws_lambda_adapter.core$handle_request.invokeStatic(core.clj:86)","ring_aws_lambda_adapter.core$handle_request.invoke(core.clj:79)","lambda.hello$G__1200handleRequest.invokeStatic(hello.clj:20)","lambda.hello$G__1200handleRequest.invoke(hello.clj:20)","lambda.core.lambdafn.handleRequest(Unknown Source)"]}
I have a quick hello-world demo that looks like:
(defn handler [request]
{:status 200
:headers {"x-yd-thing" "my-header-value"}
:body "Hello World"})
(defhandler lambda.core.lambdafn handler {})
API gateway is configured with a {proxy+} pattern which appears to cause issues when parsing path internally.
The requests succeeds when path: ""