/g/plutus
Endpoints are executed until the next endpoint. It is the most basic way for interaction trough HTTP. It returns a HTTP 200 OK response with the address/es of the next endpoints reachable from it. There will be more variants for accepting posts, files, return JSON etc, for developing complete applications in Haskell.
Routes with alternative endpoints can be expressed with the alternative Haskell operator (I can not write the operator since the submission software interpret it as HTML tag)
code with some endpoint alternative op
code with some endpoint ..
Managed session state: Each endpoint has in scope all the variables computed in previous steps. The session state contains all these variables and will be stored in a file, in IPFS or in Cardano metadata. If the server for these particular endpoint is stopped, the execution state will be restored and the execution will continue.
The basic elements of these functionalities: serializable continuations, HTTP interaction and endpoints are already developed in Haskell libraries. It remains to do some parts:
inChain primitive: integration of in-chain Plutus code Storing and retrieving continuation state in IPFS Different kinds of HTTP endpoints
At least four months of work are necessary for a first version that shows his functionalities with all the elements mentioned. I'm an expert Haskell developer but a newbie in Cardano.