0 | module Network.HTTP.Authorization
 1 |
 2 | import Data.String.Base64
 3 | import Utils.String
 4 |
 5 | private
 6 | buildBasicAuth :  String -- username
 7 |                -> String -- password
 8 |                -> (String, String)
 9 | buildBasicAuth user passwd =
10 |   let userandpasswd  = user ++ ":" ++ passwd
11 |       userandpasswd' = utf8_unpack userandpasswd
12 |     in ("Authorization", "Basic " ++ base64EncodeString userandpasswd')
13 |
14 | public export
15 | applyBasicAuth :  String -- username
16 |                -> String -- password
17 |                -> (String, String)
18 | applyBasicAuth user passwd =
19 |   buildBasicAuth user passwd
20 |
21 | private
22 | buildBearerAuth : String -- token
23 |                 -> (String, String)
24 | buildBearerAuth token =
25 |   ("Authorization", "Bearer " ++ token)
26 |
27 | public export
28 | applyBearerAuth :  String -- token
29 |                 -> (String, String)
30 | applyBearerAuth bearertoken =
31 |   buildBearerAuth bearertoken
32 |