///|
async fn ConfigService::handle_parse_deeplink(
self : ConfigService,
r : @httpx.RequestReader,
w : @httpx.ResponseWriter,
) -> Unit {
ignore(self)
let body = proxy_json_body(r)
guard proxy_string_request(r.path, body, "url") is Some(url) else {
write_usage_bad_request(w, "missing_url")
return
}
match moon_parse_deeplink_url_json(url) {
Some(request) => write_usage_json(w, request)
None => write_usage_bad_request(w, "invalid_deeplink")
}
}
///|
async fn ConfigService::handle_import_from_deeplink(
self : ConfigService,
proxy : ProxyService,
r : @httpx.RequestReader,
w : @httpx.ResponseWriter,
) -> Unit {
let body = proxy_json_body(r)
guard moon_deeplink_request_payload(r.path, body) is Some(request) else {
write_usage_bad_request(w, "invalid_deeplink")
return
}
match self.moon_import_from_deeplink_json(proxy, request) {
Some(result) => write_usage_json(w, result)
None => write_usage_bad_request(w, "invalid_deeplink_import")
}
}