mirror of
https://github.com/urbit/shrub.git
synced 2025-01-07 05:26:56 +03:00
Merge pull request #992 from urbit/acme-retouch
adds exponential backoff and :hall notifications to :acme
This commit is contained in:
commit
563a1610f8
852
app/acme.hoon
852
app/acme.hoon
File diff suppressed because it is too large
Load Diff
@ -661,7 +661,7 @@
|
|||||||
:: kill active outgoing requests
|
:: kill active outgoing requests
|
||||||
::
|
::
|
||||||
=. +>.$
|
=. +>.$
|
||||||
=/ fok=(list duct) ~(tap in ~(key by kes))
|
=/ fok=(list duct) (turn ~(val by q.ask) head)
|
||||||
|- ^+ +>.^$
|
|- ^+ +>.^$
|
||||||
?~ fok +>.^$
|
?~ fok +>.^$
|
||||||
%= $
|
%= $
|
||||||
@ -756,11 +756,24 @@
|
|||||||
::
|
::
|
||||||
$them :: outbound request
|
$them :: outbound request
|
||||||
?~ p.kyz
|
?~ p.kyz
|
||||||
=+ sud=(need (~(get by kes) hen))
|
?~ sud=(~(get by kes) hen)
|
||||||
|
:: delete an element from q.ask by traversing to prevent leakage
|
||||||
|
::
|
||||||
|
=. q.ask
|
||||||
|
=/ qas ~(tap by q.ask)
|
||||||
|
|- ^+ q.ask
|
||||||
|
?~ qas
|
||||||
|
q.ask
|
||||||
|
?: =(hen p.q.i.qas)
|
||||||
|
(~(del by q.ask) p.i.qas)
|
||||||
|
$(qas t.qas)
|
||||||
|
::
|
||||||
|
+>.$
|
||||||
|
::
|
||||||
=. +>.$
|
=. +>.$
|
||||||
%_ +>.$
|
%_ +>.$
|
||||||
mow :_(mow [ged [%give %thus sud ~]])
|
mow :_(mow [ged [%give %thus u.sud ~]])
|
||||||
q.ask (~(del by q.ask) sud)
|
q.ask (~(del by q.ask) u.sud)
|
||||||
kes (~(del by kes) hen)
|
kes (~(del by kes) hen)
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
|
@ -16,17 +16,19 @@
|
|||||||
++ test-first-order
|
++ test-first-order
|
||||||
=/ dom=(set turf) (sy /org/urbit/zod ~)
|
=/ dom=(set turf) (sy /org/urbit/zod ~)
|
||||||
=^ moves app (~(poke-acme-order app *bowl:gall *acme:app) dom)
|
=^ moves app (~(poke-acme-order app *bowl:gall *acme:app) dom)
|
||||||
=/ msg "requesting an https certificate for zod.urbit.org"
|
=/ msg 'requesting an https certificate for zod.urbit.org'
|
||||||
;: weld
|
;: weld
|
||||||
%+ expect-eq
|
%+ expect-eq
|
||||||
!> :~ [ost.bow.app %wait /acme/directory +(now.bow.app)]
|
!> :~ =- [ost.bow.app [%poke / -]]
|
||||||
[ost.bow.app %flog / %text msg]
|
=- [[~zod %hall] %hall-action %phrase (sy [~zod %inbox] ~) -]
|
||||||
|
~[[%app %$ [%lin & msg]]]
|
||||||
|
[ost.bow.app %wait /acme/try/1/directory +(now.bow.app)]
|
||||||
==
|
==
|
||||||
!> moves
|
!> moves
|
||||||
::
|
::
|
||||||
%+ expect-eq
|
%+ expect-eq
|
||||||
!> [~ dom]
|
!> [~ dom]
|
||||||
!> pen.app
|
!> (some ~(key by (fall next-order.app ~)))
|
||||||
::
|
::
|
||||||
%+ expect-eq
|
%+ expect-eq
|
||||||
!> &
|
!> &
|
||||||
@ -39,11 +41,11 @@
|
|||||||
:: tests that acme requests service directory on %wake
|
:: tests that acme requests service directory on %wake
|
||||||
::
|
::
|
||||||
++ test-first-order-wake
|
++ test-first-order-wake
|
||||||
=^ moves app (~(wake app *bowl:gall *acme:app) /acme/directory ~)
|
=^ moves app (~(wake app *bowl:gall *acme:app) /acme/try/1/directory ~)
|
||||||
=/ url
|
=/ url
|
||||||
=- (need (de-purl:html -))
|
=- (need (de-purl:html -))
|
||||||
'https://acme-staging-v02.api.letsencrypt.org/directory'
|
'https://acme-staging-v02.api.letsencrypt.org/directory'
|
||||||
%+ expect-eq
|
%+ expect-eq
|
||||||
!> ~[[ost.bow.app [%hiss /acme/directory/~zod ~ %httr %hiss url %get ~ ~]]]
|
!> ~[[ost.bow.app [%hiss /acme/try/2/directory ~ %httr %hiss url %get ~ ~]]]
|
||||||
!> moves
|
!> moves
|
||||||
--
|
--
|
||||||
|
Loading…
Reference in New Issue
Block a user