blob: 0ecd1ec3384a886e9004fc92a31eb69fae8944db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
/- sur=nostril
/+ lib=nostril, shim, dbug, muta=nostril-mutations
/= web /web/router
|%
+$ versioned-state $%(state-0:sur)
--
=| versioned-state
=* state -
%- agent:dbug
^- agent:gall
|_ =bowl:gall
+* this .
rout ~(. router:web [state bowl])
cards ~(. cards:lib bowl)
mutat ~(. muta [state bowl])
++ on-init
^- (quip card:agent:gall agent:gall)
:_ this(state default:sur)
:~ shim-binding:cards
==
::
++ on-save
^- vase
!>(state)
::
++ on-load
|~ old-state=vase
^- (quip card:agent:gall agent:gall)
=/ old-state !<(versioned-state old-state)
?- -.old-state
%0 `this(state old-state)
==
::
++ on-poke
|~ [=mark =vase]
^- (quip card:agent:gall agent:gall)
~& >> on-poke-nostril=mark
|^
?+ mark `this
%noun debug
%json on-ws
%handle-http-request serve
==
:: web ui
++ serve
=/ order !<(order:web vase)
:: ~& request.req.order
?: .=(url.request.req.order '/nostr-shim')
=/ event (handle:shim order)
~& >> ev=event
?~ event `this
=/ nevents=(list event:sur) [u.event events]
=/ nevents2=(list event:sur) (scag 100 nevents)
=. events nevents2
=/ response (ebail:rout id.order)
[response this]
::
:_ this (rout:rout order)
::
++ on-ws
=/ jon=json !<(json vase)
~& > on-ws-jon=jon
`this
::
++ debug
=/ noun !<(* vase)
?+ -.noun `this
%genkey
=/ keys (gen-keys:lib eny.bowl)
~& keys=keys
`this
%rt :: relay test
:_ this :_ ~
:: khan
=/ relay-list=(list json) %+ turn ~(tap in relays)
|= t=@t ^- json [%s t]
=/ req-body=json %- frond:enjs:format [%relays %a relay-list]
=/ headers :~
[key='content-type' value='application/json']
==
=/ =request:http [%'POST' shim-url:sur headers `(json-body:web req-body)]
=/ pat /lol/lmao
[%pass (weld /ws pat) %arvo %k %fard dap.bowl %fetch %noun !>(request)]
==
::
--
::
++ on-watch
|~ =(pole knot)
^- (quip card:agent:gall agent:gall)
`this
::
++ on-leave
|~ =(pole knot)
^- (quip card:agent:gall agent:gall)
`this
::
++ on-peek
|~ =(pole knot)
^- (unit (unit cage))
~
::
++ on-agent
|~ [wire sign:agent:gall]
^- (quip card:agent:gall agent:gall)
`this
::
++ on-arvo
|~ [wire =sign-arvo]
^- (quip card:agent:gall agent:gall)
`this
::
++ on-fail
|~ [term tang]
^- (quip card:agent:gall agent:gall)
`this
--
|