clojure-norway

Ivar Refsdal 2021-06-07T11:44:04.003900Z

Heilt einig i det om slow restarts og Clojure. REPL er verkeleg godt å ha, for både utforskning, testing og debugging.

❤️ 1
Ivar Refsdal 2021-06-07T11:59:13.007300Z

Korleis løyser folk her det om tenesta kun er tilgjengeleg over HTTP(S)? Eg har laga REPL-over-http for yada/aleph dersom folk er interessert. Enkel løysing utan websockets eller anna saker. Sikkert treig, men den gjer (for meg) jobben iallefall. Har aldri fått skikkeleg til/passer dårleg med Cursive(?) nrepl/drawbridge.

slipset 2021-06-07T12:26:26.009100Z

Litt usikker på hva du egentlig spør om, men jeg har mekka meg noen små dustefunksjoner i user ns’et vårt som gjør at jeg kan kjøre http-requester mot den lokalt kjørende applikasjonen i replet:

user&gt; (wget (pp-ctx "<mailto:admin@ardoq.com|admin@ardoq.com>") (str "/api/component" (core/gen-id!)))
Execution error (ExceptionInfo) at slingshot.support/stack-trace (support.clj:201).
clj-http: status 404
user&gt;

slipset 2021-06-07T12:26:42.009500Z

tilsvarende for put, post, patch og delete.

2021-06-07T12:27:14.010100Z

ooh, må prøve å logge inn med <mailto:admin@ardoq.com|admin@ardoq.com> og pw richhickey1234!

😂 2
slipset 2021-06-07T12:30:33.010600Z

Gjerne. Det er mulig folka på HackerOne ikke har prøvd akkurat den kombinasjonen.

Ivar Refsdal 2021-06-07T12:46:51.017Z

Ikkje heilt det eg tenkte på nei.. Kanskje enklare å forklare casen: ein har ikkje ssh-tilgang inn der backenden køyrer. Ei heller andre porter, utanom port 80 (som ligg bak https). Korleis gjer ein nREPL inn på den backenden då? Eg lagde ein lokal TCP proxy som lytter på localhost port xyz og vidaresender det den mottek med bruk av POST på https://some-gateway/some-backend/nrepl med authorization header. I tillegg poller proxyen https://some-gateway/some-backend/nrepl regelmessig og sender tilbake det den får. Lokalt kan eg då nREPLe til localhost xyz og alt verkar som ein vanlig TCP-connection. Her er lokal proxy: https://github.com/ivarref/nrepl-proxy/blob/main/src/ivarref/nrepl_proxy.clj#L148 Og remote backend endpoint handler (for yada): https://github.com/ivarref/nrepl-proxy/blob/main/backend/src/ivarref/nrepl_server_web_handler.clj#L29

Ivar Refsdal 2021-06-07T12:46:58.017300Z

Gjev det meining?

slipset 2021-06-07T12:52:31.018Z

Yepp

slipset 2021-06-07T12:52:48.018200Z

https://github.com/matlux/jvm-breakglass

slipset 2021-06-07T12:53:54.018600Z

Mener å huske at denne gjorde noe tilsvarende…

slipset 2021-06-07T12:54:29.019Z

Eller så var greia at nrepl aksess over http var noe man kunne gjøre.

Ivar Refsdal 2021-06-07T13:00:10.019600Z

Ser ikkje heilt at den gjer det same.. Men drawbridge gjer ein del av det same: https://github.com/nrepl/drawbridge

Jakub Holý 2021-06-07T17:02:40.021900Z

Jeg har brukt drawbridge og det funka, til slutt. Du må få riktig kombinasjon av versjoner og konfig :) Så kan du alltid prøve #nrepl...

👍 1