26 lines
719 B
Markdown
26 lines
719 B
Markdown
|
|
# 23-haskell-maybe-either
|
||
|
|
|
||
|
|
This example shows intermediate Haskell request building with `Maybe` and `Either`.
|
||
|
|
|
||
|
|
It includes:
|
||
|
|
|
||
|
|
- optional fields read through `Maybe`,
|
||
|
|
- required fields upgraded from `Maybe` into `Either` errors,
|
||
|
|
- validation for rollout strategy and canary percentage, and
|
||
|
|
- a test suite run by `nix flake check`.
|
||
|
|
|
||
|
|
Useful commands:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
nix develop
|
||
|
|
cabal run
|
||
|
|
cabal run -- service=api env=production replicas=3 strategy=canary canary=10 owner=platform
|
||
|
|
cabal test
|
||
|
|
|
||
|
|
nix build
|
||
|
|
./result/bin/mini-release-request service=api env=production replicas=3 strategy=canary canary=10 owner=platform
|
||
|
|
|
||
|
|
nix run . -- service=api env=production replicas=3 strategy=canary canary=10 owner=platform
|
||
|
|
nix flake check
|
||
|
|
```
|