ldap-client-0.3.0: Pure Haskell LDAP Client Library

Safe HaskellNone
LanguageHaskell2010

Ldap.Client.Bind

Description

Bind operation.

This operation comes in four flavours:

Of those, the first one (bind) is probably the most useful for the typical usecase.

Synopsis

Documentation

newtype Password Source #

User's password.

Constructors

Password ByteString 
Instances
Eq Password Source # 
Instance details

Defined in Ldap.Client.Bind

Show Password Source # 
Instance details

Defined in Ldap.Client.Bind

bind :: Ldap -> Dn -> Password -> IO () Source #

Perform the Bind operation synchronously. Raises ResponseError on failures.

bindEither :: Ldap -> Dn -> Password -> IO (Either ResponseError ()) Source #

Perform the Bind operation synchronously. Returns Left e where e is a ResponseError on failures.

bindAsync :: Ldap -> Dn -> Password -> IO (Async ()) Source #

Perform the Bind operation asynchronously. Call wait to wait for its completion.

bindAsyncSTM :: Ldap -> Dn -> Password -> STM (Async ()) Source #

Perform the Bind operation asynchronously.

Don't wait for its completion (with waitSTM) in the same transaction you've performed it in.

externalBind :: Ldap -> Dn -> Maybe Text -> IO () Source #

Perform a SASL EXTERNAL Bind operation synchronously. Raises ResponseError on failures.

externalBindEither :: Ldap -> Dn -> Maybe Text -> IO (Either ResponseError ()) Source #

Perform a SASL EXTERNAL Bind operation synchronously. Returns Left e where e is a ResponseError on failures.

externalBindAsync :: Ldap -> Dn -> Maybe Text -> IO (Async ()) Source #

Perform the SASL EXTERNAL Bind operation asynchronously. Call wait to wait for its completion.

externalBindAsyncSTM :: Ldap -> Dn -> Maybe Text -> STM (Async ()) Source #

Perform the SASL EXTERNAL Bind operation asynchronously.

Don't wait for its completion (with waitSTM) in the same transaction you've performed it in.

data Async a Source #

Asynchronous LDAP operation. Use wait or waitSTM to wait for its completion.

Instances
Functor Async Source # 
Instance details

Defined in Ldap.Client.Internal

Methods

fmap :: (a -> b) -> Async a -> Async b #

(<$) :: a -> Async b -> Async a #

wait :: Async a -> IO (Either ResponseError a) Source #

Wait for operation completion.

waitSTM :: Async a -> STM (Either ResponseError a) Source #

Wait for operation completion inside STM.

Do not use this inside the same STM transaction the operation was requested in! To give LDAP the chance to respond to it that transaction should commit. After that, applying waitSTM to the corresponding Async starts to make sense.