so I found out what was wrong and it was kind of boneheaded on my part but when I read the description what I did seemed logical. You really shouldn’t do (fn [ctx] ctx)
but something like (fn [ctx] {:a 1})
where {:a 1}
stands in for a map that may require the ctx and additional computation/resources. The map you return is merged into ctx like other actions, you don’t have to do anything special which is what I thought you needed to do (fn [ctx] (assoc ctx :a 1))
. However, returning the ctx would seem to be a no-op…it’s just merged with itself. As it turns out if you try to replace both the :response and :resource in the original ctx with the :response and :resource in the returned map. Bad Things(tm) happen…specifically, a java.io.Exception “Response header too large”. Don’t know why but it does.