Formerly choonkeat/create-elm-server, choonkeat/elm-fullstack. Search finds this package by either name.
Rerouted (regenerated, verified). Same repository and tag, but GitHub now builds the zip with different bytes, so it no longer matches the SHA-1 package.elm-lang.org recorded. The Lamdera package server serves a copy recovered from https://github.com/choonkeat/elm-webapp.
What we checked: Tag 3.0.1 is still on github.com/choonkeat/elm-webapp; its commit 97b0974d1edb is from 2021-10-10 01:51 UTC, before the version was published (2021-10-10 01:52 UTC); elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip's SHA-1 is not the published one (GitHub's zip no longer comes out byte for byte the same), so the contents were checked instead.
The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.
Details · package.elm-lang.org's zip: https://github.com/choonkeat/elm-webapp/zipball/3.0.1/
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