So, if I understand correctly you want to be able to echo some request params in the responses, right? I assume your client will processing those specially if they are present?
There’s nothing like this today, but I guess it’d be easy to add a middleware that just attaches certain request params to the responses.
@bozhidar Yes, exactly. Turns out it was pretty straightforward to build what I needed by just using op IDs to match requests and responses, and I can use that functionality for other things as well.
Is there an overview of bencode libraries for various languages that support streaming to build nREPL functionality?
I found one for python and for Rust. Obviously we have one for Clojure
I guess this page serves as such a resource: https://nrepl.org/nrepl/beyond_clojure.html
ah, btw @bozhidar - the nREPL server in babashka has now been broken out into a library: https://github.com/babashka/babashka.nrepl so the reference on that page could be changed to that
Python
I think clojure-vim maintains it now, but was written by Chas/Stu, I can't remember now.
@dominicm "it" being?
the bencode library
https://github.com/clojure-vim/nrepl-python-client/blob/master/nrepl/bencode.py bencode is inlined admittedly
it's nice how in almost any language the bencode impl ends up being around 200 lines
fireplace has a really short one
so probably clojure-vim/nrepl-python-client should also be listed there?
yeah, it should
and the fireplace one
the page lists server implementations, but I think it's also useful to list client impls