{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module SAML2.Bindings.Identifiers where
import SAML2.XML
import SAML2.Core.Namespaces
import SAML2.Core.Versioning
data Binding
= BindingSOAP
| BindingPAOS
| BindingHTTPRedirect
| BindingHTTPPOST
| BindingHTTPArtifact
| BindingURI
deriving (Eq, Bounded, Enum, Show)
instance Identifiable URI Binding where
identifier = samlURNIdentifier "bindings" . f where
f BindingSOAP = (SAML20, "SOAP")
f BindingPAOS = (SAML20, "PAOS")
f BindingHTTPRedirect = (SAML20, "HTTP-Redirect")
f BindingHTTPPOST = (SAML20, "HTTP-POST")
f BindingHTTPArtifact = (SAML20, "HTTP-Artifact")
f BindingURI = (SAML20, "URI")