{-# LANGUAGE TypeFamilies #-} -- | -- Module : Line.Bot.Internal.Auth -- Copyright : (c) Alexandre Moreno, 2019 -- License : BSD3 -- Maintainer : alexmorenocano@gmail.com -- Stability : experimental module Line.Bot.Internal.Auth where import Line.Bot.Internal.Endpoints (ChannelAuth) import Line.Bot.Types (ChannelToken) import Network.HTTP.Types (hAuthorization) import Servant.API (AuthProtect) import Servant.Client.Core.Auth (AuthClientData, AuthenticatedRequest, mkAuthenticatedRequest) import Servant.Client.Core.Request (Request, addHeader) type instance AuthClientData ChannelAuth = ChannelToken type Auth = AuthenticatedRequest ChannelAuth mkAuth :: ChannelToken -> Auth mkAuth token = mkAuthenticatedRequest token (addHeader hAuthorization)