This is cool, but I would rather be able to use curl and in some nostr apps (like nblog) I would prefer to just be able to make a one off http request on the server rather than opening a websocket connection.
If you need an API to publish or receive events over WebSockets from the command line, you can use this one (there is also a prototype HTTP client and server that sends/receives #nostr events) https://github.com/pedro-vicente/nostr_client_relay
Discussion
That doesn't justify making the protocol a much more complicated thing for everybody. WebSockets are simple, simpler than HTTP and REST, to be fully honest. If you don't like them that means you're just not used to them. You can use a Nostr library that abstracts that for you.
If you want a curl-like experience on the CLI, use https://github.com/fiatjaf/nak
Yes, that was kind of what my point was “if it ain't broke, don't fix it”. As #nostr devs, we shouldn’t have to deal with the underlying transport, we just use libraries that abstract that from us. I believe most languages have a WebSockets library. In my case, when I started with Nostr, it took me a week to find a good C++ library that I was happy with, but now I just use it and don’t care what happens under the hood. And because there was no Nostr C++ API, I made one. Check it out https://pedro-vicente.net/nostr/nostr.html