-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpolluri.lua
55 lines (51 loc) · 1017 Bytes
/
polluri.lua
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
function pollUri(uri, check, interval)
interval = interval or 5
local timer
timer = hs.timer.new(
interval,
function()
hs.http.asyncGet(uri, {}, function(code, body, headers)
check(code, body, headers, timer)
end)
end
)
return timer:start()
end
function pollUriStatusCode(uri, check, interval)
return pollUri(
uri,
function(code, body, headers, timer)
check(code, timer)
end,
interval
)
end
function pollUri200(uri, when200, interval)
return pollUriStatusCode(
uri,
function(code, timer)
if code == 200 then
when200(timer)
end
end,
interval
)
end
function pollUriBody(uri, check, interval)
return pollUri(
uri,
function(code, body, headers, timer)
check(body, timer)
end,
interval
)
end
function pollUriBodyJson(uri, check, interval)
return pollUriBody(
uri,
function(body, timer)
check(hs.json.decode(body), timer)
end,
interval
)
end