gleam-spacetraders-models/src/spacetraders_models/auth_method.gleam
Lily Rose fab4c9df5d
Some checks are pending
test / test (push) Waiting to run
Initial commit
2025-07-08 23:03:42 +10:00

27 lines
688 B
Gleam

import gleam/http/request.{type Request}
import spacetraders_models/account_token.{type AccountToken}
import spacetraders_models/agent_token.{type AgentToken}
pub type AuthMethod {
AccountAuth(AccountToken)
AgentAuth(AgentToken)
NoAuth
}
pub fn apply(req: Request(a), auth_method: AuthMethod) -> Request(a) {
case auth_method {
NoAuth -> req
AccountAuth(account_token) ->
req
|> request.set_header(
"Authorization",
"Bearer " <> account_token.to_string(account_token),
)
AgentAuth(agent_token) ->
req
|> request.set_header(
"Authorization",
"Bearer " <> agent_token.to_string(agent_token),
)
}
}