(for implementing an RFC 3161 (crypto timestamp) service.
It's a fork of https://github.com/cesanta/mongoose
(The Civetweb fork exists due to Mongoose license switch from MIT to GPLv2)
https://github.com/cesanta/mongoose
Here's me attempting to optimize REST routing by using Google's re2 regex library to reduce the list of possible regexes that might match a given URL:
https://github.com/nurettin/pwned/blob/master/server/server....
FilteredRE2
https://github.com/google/re2/blob/master/re2/filtered_re2.h
https://github.com/cesanta/mongoose - that's the project from which Mongoose OS stems.
- V7: a small portable JS VM (https://github.com/cesanta/v7) - mongoose: a portable async multiprotocol networking library (https://github.com/cesanta/mongoose)
Both of those projects are independent and have some traction on their own; but you're right that we should make it more explicit. Mongoose is out there since 2004 and is a quite popular embedded http server. We added many other protocols to it, including also COAP and DNS.
Arduino libs are not used because they are not async and not portable.
Honestly I don't know about node-red, sounds interesting; however node's V8 VM is too heavyweight for the smallest devices we aim to support. Smart.js does expose a nodejs-compatible core API wherever possible, so it might be possible to port node-red to it.
- https://www.cesanta.com/developer/smartjs#_http - https://www.cesanta.com/developer/smartjs#_websocket
MQTT API is on it's way, it's already implemented by the underlying networking library (https://github.com/cesanta/mongoose)