0 | ||| HTTP error types
 1 | module Pact.WAI.HTTPErr
 2 |
 3 | import Derive.Prelude
 4 |
 5 | %language ElabReflection
 6 |
 7 |
 8 | ||| HTTP error type
 9 | ||| Represents possible errors during HTTP processing
10 | public export
11 | data HTTPErr : Type where
12 |   ||| Header size exceeded
13 |   HeaderSizeExceeded  : HTTPErr
14 |   ||| Content size exceeded
15 |   ContentSizeExceeded : HTTPErr
16 |   ||| Invalid HTTP request format
17 |   InvalidRequest      : HTTPErr
18 |
19 | %runElab derive "HTTPErr" [Show,Eq,Ord]
20 |
21 | ||| String interpolation implementation for HTTPErr
22 | export
23 | Interpolation HTTPErr where
24 |   interpolate HeaderSizeExceeded  = "header size exceeded"
25 |   interpolate ContentSizeExceeded = "content size exceeded"
26 |   interpolate InvalidRequest      = "invalid HTTP request"
27 |