///|
fn usage() -> Unit {
println(
(
#|MoonACME helper
#|
#|Usage:
#| moon run cmd/main -- http01-path
#| moon run cmd/main -- http01-body
#| moon run cmd/main -- dns01-name
#| moon run cmd/main -- dns01-value
#|
#|The library remains transport-neutral; these commands print values that
#|can be copied into a web server or DNS provider.
),
)
}
///|
fn run(args : Array[String]) -> Unit raise @moonacme.AcmeError {
match args {
[_, "http01-path", token] => println(@moonacme.http01_path(token))
[_, "http01-body", token, thumbprint] =>
println(@moonacme.key_authorization(token, thumbprint))
[_, "dns01-name", domain] => println(@moonacme.dns01_record_name(domain))
[_, "dns01-value", token, thumbprint] =>
println(@moonacme.dns01_txt_value(token, thumbprint))
_ => usage()
}
}
///|
fn main {
run(@env.args()) catch {
error => println("error: " + error.message())
}
}