0 | module HTTP.API.Header
3 | import Data.ByteString
4 | import Derive.Prelude
5 | import HTTP.API.Decode
9 | %language ElabReflection
12 | record HeaderPart where
16 | errorStatus : Status
20 | 0 HeaderTypes : List HeaderPart -> List Type
22 | HeaderTypes (H _ t _ :: xs) = t :: HeaderTypes xs
27 | record ReqHeaders where
29 | headers : List HeaderPart
36 | record OAuthToken where
40 | %runElab derive "OAuthToken" [Show,Eq,Ord]
43 | Decode OAuthToken where
45 | if "Bearer" `isPrefixOf` bs
46 | then Right $
OAT $
trimLeft (drop 6 bs)
47 | else Left (Msg "Invalid bearer token")