0 | module HTTP.API.Client.Header
 1 |
 2 | import HTTP.API.Client.Interface
 3 |
 4 | %default total
 5 |
 6 | export
 7 | headerTypes : (hs : List HeaderPart) -> TList (HeaderTypes hs)
 8 | headerTypes []              = []
 9 | headerTypes (H _ t _ :: xs) = t::headerTypes xs
10 |
11 | adj :
12 |      (hs : List HeaderPart)
13 |   -> All Encode (HeaderTypes hs)
14 |   -> HList (HeaderTypes hs)
15 |   -> HTTPRequest
16 |   -> HTTPRequest
17 | adj []              _       _       r = r
18 | adj (H n _ _ :: ps) (e::es) (v::vs) r =
19 |   adj ps es vs $ {headers $= insertHeader n (encode v)} r
20 |
21 | public export
22 | Receive ReqHeaders where
23 |   RecConstraint h = All Encode (HeaderTypes h.headers)
24 |   RecTypes h = HeaderTypes h.headers
25 |   recs h = headerTypes h.headers
26 |   adjRequest h vs r = adj h.headers con vs r
27 |
28 | public export
29 | GetResponse ReqHeaders where
30 |   RespEncodings _ = []
31 |   RespTypes _ = []
32 |