The service side: answers each request with handler until the compiler closes the input.
Return .OK with the reply, .FAILED with an error message, or .UNAVAILABLE with the
reason the service cannot answer here (no database configured, say). Whatever the handler
prints or logs goes to stderr: stdout carries the answers.
serve :: (handler: (request: string) -> (Status, string))
Parameters
- handler: (request: string) -> (Status, string)