blob: 0582c919217a94701693ade54d4b848540f2a5cd (
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
|
(.require
[library
[lux (.except)
[control
[try (.only Try)]
[concurrency
[frp (.only Channel)]]]
[data
[binary (.only Binary)]]]]
[// (.only URL)
[uri (.only URI)]
[//
["[0]" environment
["[1]" \\parser (.only Environment)]]]])
(type .public Version
Text)
(type .public Method
(Variant
{#Post}
{#Get}
{#Put}
{#Patch}
{#Delete}
{#Head}
{#Connect}
{#Options}
{#Trace}))
(type .public Port
Nat)
(type .public Status
Nat)
(type .public Headers
Environment)
(def .public empty
Headers
environment.empty)
(type .public Header
(-> Headers Headers))
(type .public (Body !)
(-> (Maybe Nat) (! (Try [Nat Binary]))))
(type .public Scheme
(Variant
{#HTTP}
{#HTTPS}))
(type .public Address
(Record
[#port Port
#host Text]))
(type .public Identification
(Record
[#local Address
#remote Address]))
(type .public Protocol
(Record
[#version Version
#scheme Scheme]))
(type .public Resource
(Record
[#method Method
#uri URI]))
(type .public (Message !)
(Record
[#headers Headers
#body (Body !)]))
(type .public (Request !)
[Identification Protocol Resource (Message !)])
(type .public (Response !)
[Status (Message !)])
(type .public (Server !)
(-> (Request !) (! (Response !))))
|