diff --git a/mar/urb/elem.hoon b/mar/urb/elem.hoon new file mode 100644 index 000000000..d1edbfb00 --- /dev/null +++ b/mar/urb/elem.hoon @@ -0,0 +1,17 @@ +:: +:::: /hoon/elem/urb/mar + :: +/? 310 +=, mimes:html +=, html +|_ own/manx +:: +++ grow :: convert to + |% + ++ hymn ;html:(head body:"+{own}") :: convert to %hymn + ++ html (crip (en-xml hymn)) :: convert to %html + ++ mime [/text/html (as-octs html)] :: convert to %mime + -- +++ grab |% :: convert from + ++ noun manx :: clam from %noun +-- -- diff --git a/ren/urb/elem.hoon b/ren/urb/elem.hoon new file mode 100644 index 000000000..b4bf15b34 --- /dev/null +++ b/ren/urb/elem.hoon @@ -0,0 +1,6 @@ +:: +:::: /hoon/elem/urb/ren + :: +/? 310 +/tree-elem/ :: wrapper, for now +`manx`-.- diff --git a/ren/urb/wrap.hoon b/ren/urb/wrap.hoon new file mode 100644 index 000000000..3f5423e1f --- /dev/null +++ b/ren/urb/wrap.hoon @@ -0,0 +1,22 @@ +:: Add tree chrome +:: +:::: /hoon/wrap/urb/ren + :: +/? 310 +:: /= hed /# /% /tree-head/ +:: /= bod /# /% /tree-body/ +:: ^- {hed/{@uvH marl} bod/{@uvH marl}} +:: [hed bod] +|= [dep-bod=@uvH bod=manx] +^- {hed/{@uvH marl} bod/{@uvH marl}} +:* :: head + :- 0v0 + [;(title:"Wrapped!")] ::REVIEW ugly + :: body + :- dep-bod + ;= + ;h1: Wrapping + ;hr; + ;+ bod + == +== diff --git a/sys/vane/eyre.hoon b/sys/vane/eyre.hoon index eec028e8f..4310e294c 100644 --- a/sys/vane/eyre.hoon +++ b/sys/vane/eyre.hoon @@ -762,6 +762,34 @@ (ames-gram q.p.kyz aut+~ p.u.mez) =. sop (~(put by sop) p.u.mez q.p.kyz |) (ames-gram q.p.kyz hat+~ p.u.mez our-host) + :: + $get-inner + %^ exec-live ay+(dray p+uv+~ q.p.kyz p.u.mez) -.q.u.mez + :: + =/ ext %urb-elem ::XX in message? + =/ fig/coin many+~ ::STUB fcgi params for /$ + [%bake ext fig q.u.mez] + :: + $got-inner + ?. (~(has by pox) p.u.mez) + ~& lost-gram-inner+p.kyz^p.u.mez + +>.$ + =: hen (~(got by pox) p.u.mez) + pox (~(del by pox) p.u.mez) + == + ?- -.q.u.mez + %| + =/ dep 0v0 ::XX remote dependency? + (fail 500 dep p.q.u.mez) + :: + %& + =/ dep 0v0 ::XX remote dependency? + =/ bek -.top ::XX where is wrapper-renderer beak stored exactly + %^ exec-live ha+(en-beam bek ~) (norm-beak bek) + :+ %cast %urb ::XX hardcoded + :+ %call [%core (norm-beak bek) /[%urb-wrap]/ren] + [[%$ deps+!>(dep)] [%vale p.q.u.mez]] + == == :: $wegh !! :: handled elsewhere @@ -844,10 +872,18 @@ =| ses/(unit hole) |- ^+ ..axon ?- tee - $@($~ {?($on $ay $ow) *}) ~|(e+ford+lost+tee !!) + $@($~ {?($on $ow) *}) ~|(e+ford+lost+tee !!) {$of @ $~} ~|(e+ford+lost+tee !!) {$si $~} (give-sigh q.sih) {$se ^} (get-made:(dom-vi q.tee) p.tee [p q]:sih) + {$ay ^} + =/ res/(each (cask) tang) + ?- -.q.sih + %| [%| p.q.sih] + %& [%& [p q.q]:p.q.sih] :: strip type + == + (ames-gram (slav %p p.tee) got-inner+~ (slav %uv q.tee) res) + :: {$hi ^} ?: ?=($| -.q.sih) (give-sigh q.sih) :: XX crash? @@ -1060,6 +1096,7 @@ ++ teba |*(a/$-(* _..handle) |*(b/* %_(done ..handle (a b)))) ++ del-deps (teba ^del-deps) ++ new-deps (teba ^new-deps) + ++ ames-gram (teba ^ames-gram) ++ exec-live (teba ^exec-live) ++ give-html (teba ^give-html) ++ give-thou (teba ^give-thou) @@ -1336,6 +1373,13 @@ =+ bem=?-(-.hem $beam p.hem, $spur [-.top (weld p.hem s.top)]) ~| bad-beam+q.bem ?< =([~ 0] (sky [151 %noun] %cw (en-beam bem(+ ~, r [%da now])))) + ?. =< | ::TEST + =(our p.bem) ::TODO also if it is? + =. ext %urb-elem ::XX + =. -.bem (norm-beak -.bem) + =/ han (sham hen) + =. pox (~(put by pox) han hen) + [%| (ames-gram p.bem [%get-inner ~] han bem)] =+ wir=`whir`[%ha (en-beam -.bem ~)] =. wir ?+(mef !! $get wir, $head [%he wir]) =. r.bem ?+(r.bem r.bem {$ud $0} da+now) diff --git a/sys/zuse.hoon b/sys/zuse.hoon index c68fe4262..ea0aaedd0 100644 --- a/sys/zuse.hoon +++ b/sys/zuse.hoon @@ -717,6 +717,9 @@ [[%get ~] p=@uvH q=[? clip httq]] :: remote request [[%got ~] p=@uvH q=httr] :: remote response [[%gib ~] p=@uvH] :: remote cancel + :: + [[%get-inner ~] p=@uvH q=beam] ::TODO details? + [[%got-inner ~] p=@uvH q=(each (cask) tang)] ::TODO details? == :: ++ hart {p/? q/(unit @ud) r/host} :: http sec+port+host ++ hate {p/purl q/@p r/moth} :: semi-cooked request