Formerly choonkeat/create-elm-server, choonkeat/elm-fullstack. Search finds this package by either name.
The README is better for getting an understanding and for getting started. In general
we'd just use the code generated by elm-webapp cli without the need to reference here.
However, the documentation for Webapp.Server.HTTP is useful esp for functions available
to work with Request values.
A set of required ports
- `writeResponse` is your function created with your port `onHttpResponse`
port onHttpResponse : Json.Encode.Value -> Cmd msg
writeResponse =
Webapp.Server.writeResponse onHttpResponse
- `onHttpRequest` is a port defined in your `Server.elm`
port onHttpRequest : (Json.Encode.Value -> msg) -> Sub msgA set of required protocols.
headerDecoder decoded value will be made available to updateFromRoute and updateFromClientclientMsgDecoder decodes the request body IF request was sent from Client sendToServerupdateFromClient is called if clientMsgDecoder succeedsserverMsgEncoder encodes the response body for a successful clientMsgDecodererrorEncoder encodes the response body for a failed clientMsgDecoderrouteDecoder decodes a Url.Url; if successful, updateFromRoute will be calledupdateFromRoute is called as long as headerDecoder succeedsExported type to enable apps to write their type signature of main, e.g.
main : Webapp.Server.Program Flags ServerState RequestContext Msg Error MsgFromServer
main =
Webapp.Server.worker { ... }Returns a Webapp.Server program, capable of communicating with Webapp.Client program
Use this to wire up your port in your own Server.elm
port onHttpResponse : Json.Encode.Value -> Cmd msg
writeResponse =
Webapp.Server.writeResponse onHttpResponseUse this to wire up your port in your own Server.elm via websocket
port writeWs : Json.Encode.Value -> Cmd msg
writeWebsocketMessage =
Webapp.Server.writeWebsocketMessage writeWs
This is the input to create a
Platform.worker