blob: ee334fcd9d623143f1e318c8c7bcae226ed44bf8 (
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
{-# LANGUAGE DataKinds #-}
-- Flexible instances is necessary on GHC 8.4 and earlier
{-# LANGUAGE FlexibleInstances #-}
module Servant.API.Status where
import Network.HTTP.Types.Status
import GHC.TypeLits
-- | Witness that a type-level natural number corresponds to a HTTP status code
class KnownNat n => KnownStatus n where
statusVal :: proxy n -> Status
instance KnownStatus 100 where
statusVal _ = status100
instance KnownStatus 101 where
statusVal _ = status101
instance KnownStatus 200 where
statusVal _ = status200
instance KnownStatus 201 where
statusVal _ = status201
instance KnownStatus 202 where
statusVal _ = status202
instance KnownStatus 203 where
statusVal _ = status203
instance KnownStatus 204 where
statusVal _ = status204
instance KnownStatus 205 where
statusVal _ = status205
instance KnownStatus 206 where
statusVal _ = status206
instance KnownStatus 300 where
statusVal _ = status300
instance KnownStatus 301 where
statusVal _ = status301
instance KnownStatus 302 where
statusVal _ = status302
instance KnownStatus 303 where
statusVal _ = status303
instance KnownStatus 304 where
statusVal _ = status304
instance KnownStatus 305 where
statusVal _ = status305
instance KnownStatus 307 where
statusVal _ = status307
instance KnownStatus 308 where
statusVal _ = status308
instance KnownStatus 400 where
statusVal _ = status400
instance KnownStatus 401 where
statusVal _ = status401
instance KnownStatus 402 where
statusVal _ = status402
instance KnownStatus 403 where
statusVal _ = status403
instance KnownStatus 404 where
statusVal _ = status404
instance KnownStatus 405 where
statusVal _ = status405
instance KnownStatus 406 where
statusVal _ = status406
instance KnownStatus 407 where
statusVal _ = status407
instance KnownStatus 408 where
statusVal _ = status408
instance KnownStatus 409 where
statusVal _ = status409
instance KnownStatus 410 where
statusVal _ = status410
instance KnownStatus 411 where
statusVal _ = status411
instance KnownStatus 412 where
statusVal _ = status412
instance KnownStatus 413 where
statusVal _ = status413
instance KnownStatus 414 where
statusVal _ = status414
instance KnownStatus 415 where
statusVal _ = status415
instance KnownStatus 416 where
statusVal _ = status416
instance KnownStatus 417 where
statusVal _ = status417
instance KnownStatus 418 where
statusVal _ = status418
instance KnownStatus 422 where
statusVal _ = status422
instance KnownStatus 426 where
statusVal _ = status426
instance KnownStatus 428 where
statusVal _ = status428
instance KnownStatus 429 where
statusVal _ = status429
instance KnownStatus 431 where
statusVal _ = status431
instance KnownStatus 500 where
statusVal _ = status500
instance KnownStatus 501 where
statusVal _ = status501
instance KnownStatus 502 where
statusVal _ = status502
instance KnownStatus 503 where
statusVal _ = status503
instance KnownStatus 504 where
statusVal _ = status504
instance KnownStatus 505 where
statusVal _ = status505
instance KnownStatus 511 where
statusVal _ = status511
|